W i z z i   f a c t o r y
Concepts Docs Api Code Starters Project

                            
                                
intro wizzi mtree repo utils core meta docs docu demo

wizzi-documentation ittf source code:

                  • array1.html.ittf
                  • array2.html.ittf
                  • array3.html.ittf
                  • cb1.html.ittf
                  • object1.html.ittf
                  • object2.html.ittf
                  • object3.html.ittf
                  • type.html.ittf
                • wf.api.ittf
                  • array.html.ittf
                  • cb.html.ittf
                  • info.html.ittf
                  • misc.html.ittf
                  • object.html.ittf
                  • type.html.ittf
                • wf-api.html.ittf
            • api_preprocess.wfjob.ittf
            • api.wfjob.ittf
                • package-dump.ittf.ittf
                  • folder_source.html.ittf
                  • folder.html.ittf
                • package.html.ittf
            • code_preprocess.wfjob.ittf
            • code.wfjob.ittf
                • github.html.ittf
                  • array1.html.ittf
                  • array2.html.ittf
                  • array3.html.ittf
                  • array4.html.ittf
                  • array5.html.ittf
                  • cb1.html.ittf
                  • object1.html.ittf
                  • object2.html.ittf
                  • object3.html.ittf
                  • object4.html.ittf
                  • object5.html.ittf
                  • type.html.ittf
                • wf-api.html.ittf
                    • accordion_item.ittf
                    • accordion.ittf
                    • breadcrumb.ittf
                    • btn-image.ittf
                    • btn-tooltip.ittf
                    • btn.ittf
                    • carousel_item_active.ittf
                    • carousel_item.ittf
                    • carousel_to.ittf
                    • carousel.ittf
                    • li_a_divider.ittf
                    • li_a_id.ittf
                    • li_a.ittf
                    • li_active.ittf
                    • list_group.ittf
                    • list_item.ittf
                    • navbar_fixed_top.ittf
                    • navbar_text_logo.ittf
                    • navbar.ittf
                    • pane.ittf
                    • panes.ittf
                    • row_col_form.ittf
                    • tab.ittf
                    • tabs.ittf
                  • _style.html.ittf
                  • attributes.html.ittf
                  • h2panel.html.ittf
                  • methods.html.ittf
                  • relations.html.ittf
                  • table.html.ittf
                  • tr_prop.html.ittf
                • wf-schema.html.ittf
                • wfschema-docs-new.html.ittf
                • wfschema-docs.html.ittf
                  • styles1.css.ittf
                  • defs.ittf
                • style1.html - Copia.ittf
                • style1.html.ittf
                    • sample-tabpages.html.ittf
                    • sample-tabs.html.ittf
                    • sample-treeview.html.ittf
                    • toc.html.ittf
                    • toc.html.ittf
                    • tv-document.html.ittf
                    • tv-folder.html.ittf
                  • header.html.ittf
                  • guide_hint.html.ittf
              • code_intro.html.ittf
              • concepts.html.ittf
              • contribs.html.ittf
              • docs.html.ittf
              • index.html.ittf
              • labs.html.ittf
              • project.html.ittf
              • specs.html.ittf
              • starters.html.ittf
            • code_intro.wfjob.ittf
            • concepts.wfjob.ittf
            • contribs.wfjob.ittf
            • docs.wfjob.ittf
            • index.wfjob.ittf
            • labs.wfjob.ittf
            • project.wfjob.ittf
            • schemas.wfjob.ittf
            • section.wfjob.ittf
            • spa.wfjob.ittf
            • specs.wfjob.ittf
            • starters.wfjob.ittf
                    • github.css.ittf
                    • algolia.css.ittf
                    • article_webpack_code.css.ittf
                    • article_webpack.css.ittf
                    • code.css.ittf
                    • container.css.ittf
                    • grid.css.ittf
                    • index.css.ittf
                    • padding-margin.css.ittf
                  • a.css.ittf
                  • api.css.ittf
                  • article.css.ittf
                  • code.css.ittf
                  • frame.css.ittf
                  • gridSystem_float.css.ittf
                  • header.css.ittf
                  • icons.css.ittf
                  • logo.css.ittf
                  • modal.css.ittf
                  • navigation-search.css.ittf
                  • navigation.css.ittf
                  • prettyprint.css.ittf
                  • reset_OLD.css.ittf
                  • reset-box-sizing.css.ittf
                  • reset.css.ittf
                  • sidebar.css.ittf
                  • site.css.ittf
                  • tabs.css.ittf
                  • toc.css.ittf
                  • treeview.css.ittf
                  • tv.css.ittf
                  • wfschema.css.ittf
                    • tabcontrol.js.ittf
                    • tvdocuments.js.ittf
                  • clickHandler.js.ittf
                  • element.js.ittf
                  • modal.js.ittf
                  • wzui-events.js.ittf
                  • wzui.js.ittf
                • defs.css.ittf
              • api-styles.css.ittf
              • wizzifactory.css.ittf
              • wizzifactory.js.ittf
            • site.wfjob.ittf
                • nav_child_compile.html.ittf
                • nav_child.html.ittf
                • nav_link_compile.html.ittf
                • nav_link.html.ittf
              • layout_compile.html.ittf
              • layout.html.ittf
              • logo.html.ittf
              • nav_sidebar.html.ittf
              • navigation.html.ittf
              • any_css.wfjob.ittf
              • any_gitignore.wfjob.ittf
              • any_html.wfjob.ittf
              • any_js.wfjob.ittf
              • any_json.wfjob.ittf
              • any_jsx.wfjob.ittf
              • any_less.wfjob.ittf
              • any_md.wfjob.ittf
              • any_plain_css.wfjob.ittf
              • any_plain_jpg.wfjob.ittf
              • any_plain_js.wfjob.ittf
              • any_plain_svg.wfjob.ittf
              • any_plain.wfjob.ittf
              • any_tests_ittf.wfjob.ittf
              • any_wfjob_ittf.wfjob.ittf
              • any_wfjob.wfjob.ittf
              • art-final.wfjob.ittf
              • art-wo-css.wfjob.ittf
              • art-wo-html.wfjob.ittf
              • art-wo-js.wfjob.ittf
              • spa_babelrc.wfjob.ittf
              • spa_gulp.wfjob.ittf
              • spa_package.wfjob.ittf
              • spa_webpack.wfjob.ittf
          • wfjob-execute.js.ittf
        • _old_site.js.ittf
        • api_preprocess.js.ittf
        • api.js.ittf
        • code_intro.js.ittf
        • code_preprocess.js.ittf
        • code.js.ittf
        • concepts.js.ittf
        • contribs.js.ittf
        • docs.js.ittf
        • index.js.ittf
        • labs.js.ittf
        • project.js.ittf
        • schemas.js.ittf
        • site.js.ittf
        • spa.js.ittf
        • specs.js.ittf
        • starters.js.ittf
        • index.json.ittf
              • artifactGenerator.api.ittf
              • modelFactory.api.ittf
              • modelTransformer.api.ittf
              • artifact.api.ittf
              • model.api.ittf
              • pluginsManager.api.ittf
              • production.api.ittf
              • runnerServer.api.ittf
              • wizziFactory.api.ittf
            • cb.api.ittf
            • ittfDocumentStore.api.ittf
            • wizzi-app.api.ittf
            • wizzi-mtree.api.ittf
            • wizzi-plugin.api.ittf
            • wizzi-repo.api.ittf
            • wizzi.api.ittf
          • wf.api.ittf
                • summary.docs.ittf
                • artifactgenerator.docs.ittf
                • ittfdocument.docs.ittf
                • ittfexpression.docs.ittf
                • ittfmodel.docs.ittf
                • ittfmodelloader.docs.ittf
                • ittfstatement.docs.ittf
                • wizzimodel.docs.ittf
                • wizzimodelinstance.docs.ittf
                • wizzimodelloader.docs.ittf
                • wizzimodeltransformer.docs.ittf
                • wizzischema.docs.ittf
              • artifactgenerator.docs.ittf
              • elasticsynthaxtree.docs.ittf
              • generationprocess.docs.ittf
              • instancebuildup.docs.ittf
              • ittfdocument.docs.ittf
              • jswizzi.docs.ittf
              • languageschema.docs.ittf
              • modeltransformer.docs.ittf
              • mtree.docs.ittf
              • wfschema.docs.ittf
              • wizzifactory.docs.ittf
              • wizzijob.docs.ittf
              • wizzimodel.docs.ittf
              • wizziplugin.docs.ittf
              • author-packages.ittf
              • improvements.docs.ittf
              • issues.docs.ittf
                • core.docs.ittf
                • gencontext.docs.ittf
                • implementation.docs.ittf
                • index.docs.ittf
                • ittfdocument.ittf
                • jsonexport.docs.ittf
                • sample.docs.ittf
                • xmlexport.docs.ittf
                • index.docs.ittf
                • index.docs.ittf
                • runnerServer.docs.ittf
                • wfjob.docs.ittf
                  • tr.docs.ittf
                • index.docs.ittf
                • ittf-codeunits.docs.ittf
                • ittf-commandnodes.docs.ittf
                • ittf-composition.docs.ittf
                • ittf-document.docs.ittf
                • ittf-notation.docs.ittf
                • ittf-templates.docs.ittf
                • js-wizzi.docs.ittf
                • pathresolution.docs.ittf
                • xml-comparision.docs.ittf
                • api.docs.ittf
                • architect.docs.ittf
                • index.docs.ittf
                • index.docs.ittf
                    • $.ittfstatement.docs.ittf
                    • $dot.ittfstatement.docs.ittf
                    • $foreach.ittfstatement.docs.ittf
                    • $global.ittfstatement.docs.ittf
                    • $group.ittfstatement.docs.ittf
                    • $if.ittfstatement.docs.ittf
                    • comments.ittfstatement.docs.ittf
                    • mixincall.ittfstatement.docs.ittf
                    • basic.mixin.docs.ittf
                    • hook.mixin.docs.ittf
                    • scope.mixin.docs.ittf
                  • wfschema.html.sample.docs.ittf
                  • wfschema.rdbms.sample.docs.ittf
                • ittfstatements.docs.ittf
                • mixin.docs.ittf
                • index.docs.ittf
                • ittf.docs.ittf
                • json.docs.ittf
                • pseudoschemas.docs.ittf
                • text.docs.ittf
                • wfschema.docs.ittf
                • wizzi-model-type.docs.ittf
                • xml.docs.ittf
                  • artifact-generation.docs.ittf
                  • codewrite.docs.ittf
                  • ittftemplate.docs.ittf
                  • production.docs.ittf
                  • swigtemplate.docs.ittf
                  • wizzi-model-loading.docs.ittf
                  • wizzi-model-transformation.docs.ittf
                  • package.docs.ittf
                  • production-manager.docs.ittf
                  • wfjob-wizzi-schema.docs.ittf
                • behaviour.docs.ittf
                • structure.docs.ittf
                  • ittf-evaluator.docs.ittf
                  • ittf-model-loader.ittf
                  • js-wizzi-context.docs.ittf
                  • js-wizzi-runner.docs.ittf
                  • includeable-ittf-document.docs.ittf
                  • ittf-document.docs.ittf
                  • ittf-model.docs.ittf
                  • ittf-notation.ittf
                  • ittf-statements.docs.ittf
                  • js-wizzi.docs.ittf
                  • mixin-ittf-document.docs.ittf
                  • primary-ittf-document.docs.ittf
                  • templeatable-ittf-document.docs.ittf
                • behaviour.docs.ittf
                • index.docs.ittf
                • structure.docs.ittf
                  • wizzi-model-factory.docs.ittf
                  • wizzi-model-production.docs.ittf
                  • wizzi-meta-schema.docs.ittf
                  • wizzi-model-instance.docs.ittf
                  • wizzi-model-type.docs.ittf
                  • wizzi-schema.docs.ittf
                • behaviour.docs.ittf
                • structure.docs.ittf
                • factorymodule.docs.ittf
                • generation.docs.ittf
                • index.docs.ittf
                • modelmodule.docs.ittf
                • resource.docs.ittf
              • data-lab.docs.ittf
              • form-lab.docs.ittf
              • rest-lab.docs.ittf
              • site-lab.docs.ittf
              • issues_old.docs.ittf
              • issues.docs.ittf
              • newversion.docs.ittf
              • roadmap.docs.ittf
              • status.docs.ittf
              • todos_old.docs.ittf
              • todos.docs.ittf
                  • call.docs.ittf
                  • class.docs.ittf
                  • debug.docs.ittf
                  • function.docs.ittf
                  • json.docs.ittf
                  • logic.docs.ittf
                  • set.docs.ittf
                  • var.docs.ittf
                • ls.docs.ittf
              • css-language-schema.docs.ittf
              • html-language-schema.docs.ittf
              • ittfdocument-searchpath.docs.ittf
              • js-language-schema.docs.ittf
              • js-wizzi.docs.ittf
              • wfjob-schema.docs.ittf
              • wizzimodeltype.docs.ittf
              • wizzischema-notation.docs.ittf
              • wizzischema-schema.docs.ittf
                  • myhtml-document-artifact.docs.ittf
                  • myhtml-schema.docs.ittf
                  • wizzimodelproduction.docs.ittf
              • demostart.docs.ittf
              • firstpackage.docs.ittf
              • getstarted.docs.ittf
              • starter-1-tutorial.docs.ittf
              • rdbms.schema.docs.ittf
          • code_intro.docs.ittf
          • concepts.docs.ittf
          • contribs.docs.ittf
          • docs_artifacts.docs.ittf
          • docs_intro.docs.ittf
          • docs_ittf.docs.ittf
          • docs_jobs.docs.ittf
          • docs_jswizzi.docs.ittf
          • docs_models.docs.ittf
          • docs_plugins.docs.ittf
          • index.docs.ittf
          • labs.docs.ittf
          • project.docs.ittf
          • specs.docs.ittf
          • starters.docs.ittf
            • v3-kernel.wfpackage.ittf
            • v3-next.wfpackage.ittf
            • v3-plugins.wfpackage.ittf
            • v4-wizzi-js.wfpackage.ittf
            • v4-wizzi.wfpackage.ittf
            • wizzi-core.wfpackage.ittf
            • wizzi-demo.wfpackage.ittf
            • wizzi-docs.wfpackage.ittf
            • wizzi-documentation.wfpackage.ittf
            • wizzi-html.wfpackage.ittf
            • wizzi-js.wfpackage.ittf
            • wizzi-meta.wfpackage.ittf
            • wizzi-mongodb.wfpackage.ittf
            • wizzi-mtree.wfpackage.ittf
            • wizzi-repo.wfpackage.ittf
            • wizzi-tools.wfpackage.ittf
            • wizzi-utils.wfpackage.ittf
            • wizzi.wfpackage.ittf
          • v3-docs.wfpackage.ittf
          • v3-next.wfpackage.ittf
          • v4-demo.wfpackage.ittf
          • v4-kernel.wfpackage.ittf
          • v4-plugins.wfpackage.ittf
          • v4-wizzi-js.wfpackage.ittf
          • v4-wizzi.wfpackage.ittf
          • wizzi-core.wfpackage.ittf
          • wizzi-demo.wfpackage.ittf
          • wizzi-docs.wfpackage.ittf
          • wizzi-html.wfpackage.ittf
          • wizzi-js.wfpackage.ittf
          • wizzi-meta.wfpackage.ittf
          • wizzi-mtree.wfpackage.ittf
          • wizzi-repo.wfpackage.ittf
          • wizzi-tools.wfpackage.ittf
          • wizzi-utils.wfpackage.ittf
          • wizzi.wfpackage.ittf
          • readme_content.md.ittf
        • index.js.ittf
        • package.json.ittf
    • generate.wfjob.ittf

/src/ittf/jobs/ittf__copy/api/dumps/api/t/array1.html.ittf

    
1 $group
2 $params &obj1
3 $
4 var item = obj1.items.length == 1 ? obj1.items[0] : null;
5 var obj2 = item;
6 $if item != null
7 table
8 tr
9 td item ${item.wzName}
10 @ valign top
11 td
12 @ valign top
13 span ${item.type}
14 $if item.type === 'object'
15 span {
16 $if item.type === 'array'
17 span [
18 table
19 $if item.type.apiRef
20 tr
21 td api ref
22 @ valign top
23 td
24 @ valign top
25 a ${item.type.apiRef}
26 href #${item.type.apiRef}
27 $if item.type === 'array'
28 tr
29 td
30 @ valign top
31 ./array2( &obj2)
32 $if item.type === 'object'
33 tr
34 td
35 @ valign top
36 ./object2( &obj2)

/src/ittf/jobs/ittf__copy/api/dumps/api/t/array2.html.ittf

    
1 $group
2 $params &obj2
3 $
4 var item = obj2.items.length == 2 ? obj2.items[0] : null;
5 var obj3 = item;
6 $if item != null
7 table
8 tr
9 td item ${item.wzName}
10 @ valign top
11 td
12 @ valign top
13 span ${item.type}
14 $if item.type === 'object'
15 span {
16 $if item.type === 'array'
17 span [
18 table
19 $if item.type.apiRef
20 tr
21 td api ref
22 @ valign top
23 td
24 @ valign top
25 a ${item.type.apiRef}
26 href #${item.type.apiRef}
27 $if item.type === 'array'
28 tr
29 td
30 @ valign top
31 ./array3( &obj3)
32 $if item.type === 'object'
33 tr
34 td
35 @ valign top
36 ./object3( &obj3)

/src/ittf/jobs/ittf__copy/api/dumps/api/t/array3.html.ittf

    
1 $group
2 $params &obj3
3 $
4 var item = obj3.items.length == 3 ? obj3.items[0] : null;
5 var obj4 = item;
6 $if item != null
7 table
8 tr
9 td item ${item.wzName}
10 @ valign top
11 td
12 @ valign top
13 span ${item.type}
14 $if item.type === 'object'
15 span {
16 $if item.type === 'array'
17 span [
18 table
19 $if item.type.apiRef
20 tr
21 td api ref
22 @ valign top
23 td
24 @ valign top
25 a ${item.type.apiRef}
26 href #${item.type.apiRef}
27 $if item.type === 'array'
28 tr
29 td
30 @ valign top
31 h1 Sorry too deep in array3
32 $$ ./array4(&obj4)
33 $if item.type === 'object'
34 tr
35 td
36 @ valign top
37 h1 Sorry too deep in array3
38 $$ ./object4(&obj4)

/src/ittf/jobs/ittf__copy/api/dumps/api/t/cb1.html.ittf

    
1 $group
2 $params &obj1
3 $
4 var obj2 = {};
5 $if obj1.xarguments.length > 0
6 table
7 $foreach arg in obj1.xarguments
8 $
9 obj2 = arg;
10 tr
11 td arg
12 @ valign top
13 td ${arg.wzName}
14 @ valign top
15 td ${arg.type}
16 @ valign top
17 $if arg.type === 'alternative'
18 table
19 $foreach v in arg.values
20 $
21 obj2 = arg;
22 tr
23 td | ${v.wzName}
24 @ valign top
25 td
26 @ valign top
27 $if v.wzName != v.type
28 span ${v.type}
29 $if v.type === 'exception' && v.errors.length > 0
30 table
31 $foreach err in v.errors
32 tr
33 td ${err.wzName}
34 $else
35 table
36 $if v.apiRef
37 tr
38 td api ref
39 td
40 a ${v.apiRef}
41 href #${v.apiRef}
42 $if v.isPOJO
43 tr
44 td POJO
45 $if v.defaultValue
46 tr
47 td default
48 td ${v.defaultValue}
49 $if v.isRequired
50 tr
51 td required
52 $if v.iface
53 tr
54 td interface
55 td ${v.iface}
56 $if v.type === 'object'
57 tr
58 td
59 ./object2( &obj2)
60 $if v.type === 'array'
61 tr
62 td
63 ./array2( &obj2)
64 $elif arg.type === 'switch'
65 table
66 $foreach xon in arg.ons
67 tr
68 td | on ${xon.wzName}
69 @ valign top
70 table
71 $foreach v in xon.values
72 $
73 obj2 = v;
74 tr
75 td ${v.wzName}
76 @ valign top
77 td
78 @ valign top
79 $if v.wzName != v.type
80 span ${v.type}
81 $group
82 table
83 $if v.apiRef
84 tr
85 td api ref
86 td
87 a ${v.apiRef}
88 href #${v.apiRef}
89 $if v.isPOJO
90 tr
91 td POJO
92 $if v.defaultValue
93 tr
94 td default
95 td ${v.defaultValue}
96 $if v.isRequired
97 tr
98 td required
99 $if v.iface
100 tr
101 td interface
102 td ${v.iface}
103 $if v.type === 'object'
104 tr
105 td
106 ./object2( &obj2)
107 $if v.type === 'array'
108 tr
109 td
110 ./array2( &obj2)
111 $else
112 td ${arg.wzName}
113 @ valign top
114 td ${arg.type}
115 @ valign top
116 table
117 $if arg.apiRef
118 tr
119 td api ref
120 td
121 a ${arg.apiRef}
122 href #${arg.apiRef}
123 $if arg.isPOJO
124 tr
125 td POJO
126 $if arg.defaultValue
127 tr
128 td default
129 td ${arg.defaultValue}
130 $if arg.isRequired
131 tr
132 td required
133 $if arg.iface
134 tr
135 td interface
136 td ${arg.iface}
137 $if arg.type === 'object'
138 tr
139 td
140 ./object2( &obj2)
141 $if arg.type === 'array'
142 tr
143 td
144 ./array2( &obj2)

/src/ittf/jobs/ittf__copy/api/dumps/api/t/object1.html.ittf

    
1 $group
2 $params &obj1
3 $
4 var obj2 = {};
5 $if obj1.properties.length > 0
6 table
7 $foreach prop in obj1.properties
8 $
9 obj2 = prop;
10 tr
11 td ${prop.wzName}
12 @ valign top
13 td
14 @ valign top
15 span ${prop.type}
16 $if prop.type === 'object'
17 span {
18 $if prop.type === 'array'
19 span [
20 table
21 $if prop.isPOJO
22 tr
23 td POJO
24 $if prop.defaultValue
25 tr
26 td default
27 td ${prop.defaultValue}
28 $if prop.isRequired
29 tr
30 td required
31 $if prop.iface
32 tr
33 td interface
34 td ${prop.iface}
35 $if prop.apiRef
36 tr
37 td api ref
38 td
39 a ${prop.apiRef}
40 href #${prop.apiRef}
41 $if prop.type === 'object'
42 tr
43 td
44 ./object2( &obj2)
45 $if prop.type === 'array'
46 tr
47 td
48 ./array2( &obj2)

/src/ittf/jobs/ittf__copy/api/dumps/api/t/object2.html.ittf

    
1 $group
2 $params &obj2
3 $
4 var obj3 = {};
5 $if obj2.properties.length > 0
6 table
7 $foreach prop in obj2.properties
8 $
9 obj3 = prop;
10 tr
11 td ${prop.wzName}
12 @ valign top
13 td
14 @ valign top
15 span ${prop.type}
16 $if prop.type === 'object'
17 span {
18 $if prop.type === 'array'
19 span [
20 table
21 $if prop.isPOJO
22 tr
23 td POJO
24 $if prop.defaultValue
25 tr
26 td default
27 td ${prop.defaultValue}
28 $if prop.isRequired
29 tr
30 td required
31 $if prop.iface
32 tr
33 td interface
34 td ${prop.iface}
35 $if prop.apiRef
36 tr
37 td api ref
38 td
39 a ${prop.apiRef}
40 href #${prop.apiRef}
41 $if prop.type === 'object'
42 tr
43 td
44 ./object3( &obj3)
45 $if prop.type === 'array'
46 tr
47 td
48 ./array3( &obj3)

/src/ittf/jobs/ittf__copy/api/dumps/api/t/object3.html.ittf

    
1 $group
2 $params &obj3
3 $
4 var obj4 = {};
5 $if obj3.properties.length > 0
6 table
7 $foreach prop in obj3.properties
8 $
9 obj4 = prop;
10 tr
11 td ${prop.wzName}
12 @ valign top
13 td
14 @ valign top
15 span ${prop.type}
16 $if prop.type === 'object'
17 span {
18 $if prop.type === 'array'
19 span [
20 table
21 $if prop.isPOJO
22 tr
23 td POJO
24 $if prop.defaultValue
25 tr
26 td default
27 td ${prop.defaultValue}
28 $if prop.isRequired
29 tr
30 td required
31 $if prop.iface
32 tr
33 td interface
34 td ${prop.iface}
35 $if prop.apiRef
36 tr
37 td api ref
38 td
39 a ${prop.apiRef}
40 href #${prop.apiRef}
41 $if prop.type === 'object'
42 tr
43 td
44 h1 Sorry too deep in object3
45 $$ ./object4(&obj4)
46 $if prop.type === 'array'
47 tr
48 td
49 h1 Sorry too deep in object3
50 $$ ./array4(&obj4)

/src/ittf/jobs/ittf__copy/api/dumps/api/t/type.html.ittf

    
1 $group
2 $params &api, &type
3 $
4 var obj1 = {};
5 $if type.properties.length > 0
6 table
7 $foreach p in type.properties
8 tr
9 td property
10 @ valign top
11 td ${p.wzName}
12 @ valign top
13 td
14 @ valign top
15 span ${p.type}
16 $if p.type === 'object'
17 span {
18 $if p.type === 'array'
19 span [
20 table
21 $if p.comments.length > 0
22 tr
23 td
24 $foreach c in p.comments
25 span ${c.wzName}
26 br
27 $if p.apiRef
28 tr
29 td api ref
30 @ valign top
31 td
32 @ valign top
33 a ${p.apiRef}
34 href #${p.apiRef}
35 $if p.type === 'object'
36 $
37 obj1 = p;
38 tr
39 td
40 @ valign top
41 ./object1( &obj1)
42 $if p.type === 'array'
43 $
44 obj1 = p;
45 tr
46 td
47 @ valign top
48 ./array1( &obj1)
49 $if type.methods.length > 0
50 table
51 $foreach m in type.methods
52 tr
53 style border-top: 1px solid gray;
54 td method
55 @ valign top
56 td ${api.wzName}.${m.wzName}
57 @ valign top
58 table
59 tr
60 td type
61 td
62 $if m.isAsync
63 span async  
64 span ${m.type}
65 $if m.isInternal
66 tr
67 td internal method
68 $if m.implementedBy
69 tr
70 td implemented by
71 td
72 a ${m.implementedBy}
73 href #${m.implementedBy}
74 $if m.calledBy
75 tr
76 td called by
77 td
78 a ${m.calledBy}
79 href #${m.calledBy}
80 $if m.throwIf
81 tr
82 td throw if
83 td ${m.throwIf}
84 $if m.params.length > 0
85 $foreach p in m.params
86 $
87 obj1 = p;
88 tr
89 td param
90 @ valign top
91 td ${p.wzName}
92 @ valign top
93 td
94 @ valign top
95 span ${p.type}
96 $if p.type === 'object'
97 span {
98 $if p.type === 'array'
99 span [
100 $if p.comments.length > 0
101 tr
102 td
103 $foreach c in p.comments
104 span ${c.wzName}
105 br
106 table
107 $if p.apiRef
108 tr
109 td api ref: 
110 td
111 a ${p.apiRef}
112 href #${p.apiRef}
113 $if p.isPOJO
114 tr
115 td POJO
116 $if p.defaultValue
117 tr
118 td default
119 td ${p.defaultValue}
120 $if p.isRequired
121 tr
122 td required
123 $if p.iface
124 tr
125 td interface
126 td ${p.iface}
127 $if p.type === 'object'
128 tr
129 td
130 ./object1( &obj1)
131 $if p.type === 'array'
132 tr
133 td
134 ./array1( &obj1)
135 $if p.type === 'callback-function'
136 tr
137 td
138 ./cb1( &obj1)
139 $if m.info
140 tr
141 td info
142 @ valign top
143 td
144 @ valign top
145 @ colspan 2
146 table
147 $foreach c in m.info.comments
148 tr
149 td ${c.wzName}
150 @ colspan 2
151 $foreach it in m.info.infoItems
152 tr
153 td ${it.wzTag}
154 td ${it.wzName}
155 $foreach it2 in it.infoItems
156 tr
157 td ${it2.wzTag}
158 style padding-left: 15px;
159 td ${it2.wzName}
160 style padding-left: 15px;
161 $foreach it3 in it2.infoItems
162 tr
163 td ${it3.wzTag}
164 style padding-left: 30px;
165 td ${it3.wzName}
166 style padding-left: 30px;
167 $if it3.infoItems.length > 0
168 h1 Sorry to deep info items
169 $if m.return
170 tr
171 td return
172 @ valign top
173 td
174 @ valign top
175 table
176 $foreach v in m.return.values
177 $
178 obj1 = v;
179 tr
180 td ${v.wzName}
181 @ valign top
182 td ${v.type}
183 @ valign top
184 table
185 $if v.apiRef
186 tr
187 td api ref: 
188 td
189 a ${v.apiRef}
190 href #${v.apiRef}
191 $if v.isPOJO
192 tr
193 td POJO
194 $if v.defaultValue
195 tr
196 td default
197 td ${v.defaultValue}
198 $if v.isRequired
199 tr
200 td required
201 $if v.iface
202 tr
203 td interface
204 td ${v.iface}
205 $if v.type === 'object'
206 tr
207 td
208 ./object1( &obj1)
209 $if v.type === 'array'
210 tr
211 td
212 ./array1( &obj1)
213 $if v.type === 'callback-function'
214 tr
215 td
216 ./cb1( &obj1)

/src/ittf/jobs/ittf__copy/api/dumps/api/wf.api.ittf

    
1 wfsystem ${api.value}
2 $function buildup_node
3 $param item
4 ${item.name} ${item.value}
5 $foreach c in item.children
6 $_ buildup_node
7 $@ c
8 $foreach c in api.children
9 $_ buildup_node
10 $@ c

/src/ittf/jobs/ittf__copy/api/html/api/t/array.html.ittf

    
1 $group
2 $function buildup_array
3 $param obj
4 $param smr
5 $ var item = obj.items && obj.items.length == 1 ? obj.items[0] : null;
6 $if item != null
7 . gsf-smr-${smr}
8 $if item.type === 'object'
9 span {
10 $elif item.type === 'array'
11 span [
12 $else
13 span ${item.type}
14 span ${item.wzName}
15 class api-param-name
16 $_ comments
17 $@ item
18 $@ smr+1
19 $@ 'array-item'
20 $_ api_ref
21 $@ item
22 $@ smr+1
23 $if item.type === 'array'
24 $_ buildup_array
25 $@ item
26 $@ smr+1
27 $if item.type === 'object'
28 $_ buildup_object
29 $@ item
30 $@ smr+1

/src/ittf/jobs/ittf__copy/api/html/api/t/cb.html.ittf

    
1 $group
2 $function buildup_cb
3 $param obj
4 $param smr
5 $_ comments
6 $@ obj
7 $@ smr
8 $@ 'cb'
9 $foreach arg in obj.xarguments
10 . gsf-smr-${smr}
11 $_ typed_name
12 $@ arg
13 $@ 'param'
14 $_ comments
15 $@ arg
16 $@ smr+1
17 $@ 'cb-arg'
18 $if arg.type === 'alternative'
19 $foreach v in arg.values
20 . gsf-smr-${(smr+2)}
21 span | ${v.wzName}
22 $if v.wzName != v.type
23 span ${v.type}
24 $if v.type === 'exception' && v.errors.length > 0
25 $foreach err in v.errors
26 . gsf-smr-${(smr+3)}
27 span ${err.wzName}
28 $else
29 $_ typed_value_attrs
30 $@ v
31 $@ smr+2
32 $elif arg.type === 'switch'
33 $foreach xon in arg.ons
34 . gsf-smr-${(smr+2)}
35 span | on ${xon.wzName}
36 $foreach v in xon.values
37 $_ typed_value
38 $@ v
39 $@ smr+3
40 $else
41 $_ typed_value
42 $@ arg
43 $@ smr+1

/src/ittf/jobs/ittf__copy/api/html/api/t/info.html.ittf

    
1 $group
2 $function info_item
3 $param item
4 $param smr
5 . gsf-smr-${smr}
6 $if item.wzTag === 'dependency'
7 span ${item.type}
8 class api-info-tag
9 span ${item.wzTag}
10 class api-info-tag
11 span
12 a ${item.wzName}
13 href #${item.wzName}
14 $else
15 span ${item.wzTag}
16 class api-info-tag
17 span
18 a ${item.wzName}
19 href #${item.wzName}
20 $foreach child in item.infoItems
21 $_ info_item
22 $@ child
23 @ smr+1

/src/ittf/jobs/ittf__copy/api/html/api/t/misc.html.ittf

    
1 $group
2 $function typed_name
3 $param p
4 $if p.type === 'object'
5 span {
6 class api-property-type
7 $elif p.type === 'array'
8 span [
9 class api-property-type
10 $else
11 span ${p.type}
12 class api-property-type
13 $if p.type !== 'null'
14 span ${p.wzName}
15 class api-property-name
16 $function comments
17 $param p
18 $param smr
19 $param type
20 $if p.comments.length > 0
21 . gsf-smr-${smr} api-comment-${type}
22 $foreach c in p.comments
23 span ${c.wzName} 
24 $function api_ref
25 $param p
26 $param smr
27 $if p.apiRef
28 . gsf-smr-${smr}
29 span api-ref
30 class api-label-api-ref
31 span
32 class api-ref
33 a ${p.apiRef}
34 href #${p.apiRef}
35 $function typed_value
36 $param v
37 $param smr
38 . gsf-smr-${smr}
39 $_ typed_name
40 $@ v
41 $@ 'property'
42 $_ typed_value_attrs
43 $@ v
44 $@ smr+1
45 $function typed_value_attrs
46 $param v
47 $param smr
48 $if v.comments.length > 0
49 . gsf-smr-${smr} api-comment-typed-value
50 $foreach c in v.comments
51 span ${c.wzName} 
52 $if v.isPOJO
53 . gsf-smr-${smr}
54 span POJO
55 $if v.defaultValue
56 . gsf-smr-${smr}
57 span default ${v.defaultValue}
58 $if v.isRequired
59 . gsf-smr-${smr} api-constraint
60 span required
61 $if v.iface
62 . gsf-smr-${smr} api-iface
63 span ${v.iface}
64 $_ api_ref
65 $@ v
66 $@ smr
67 $if v.type === 'object'
68 $_ buildup_object
69 $@ v
70 $@ smr
71 $if v.type === 'array'
72 $_ buildup_array
73 $@ v
74 $@ smr

/src/ittf/jobs/ittf__copy/api/html/api/t/object.html.ittf

    
1 $group
2 $function buildup_object
3 $param obj
4 $param smr
5 $foreach p in obj.properties
6 . gsf-smr-${smr} api-param-panel
7 $_ typed_name
8 $@ p
9 $@ 'property'
10 $_ comments
11 $@ p
12 $@ smr+1
13 $@ 'object-property'
14 $if p.isPOJO
15 . gsf-smr-${(smr+1)}
16 span POJO
17 $if p.defaultValue
18 . gsf-smr-${(smr+1)}
19 span default ${p.defaultValue}
20 $if p.isRequired
21 . gsf-smr-${(smr+1)} api-constraint
22 span required
23 $if p.iface
24 . gsf-smr-${(smr+1)} api-iface
25 span ${p.iface}
26 $_ api_ref
27 $@ p
28 $@ smr+1
29 $if p.type === 'object'
30 $_ buildup_object
31 $@ p
32 $@ smr+1
33 $if p.type === 'array'
34 $_ buildup_array
35 $@ p
36 $@ smr+1

/src/ittf/jobs/ittf__copy/api/html/api/t/type.html.ittf

    
1 $group
2 $function buildup_type
3 $param title
4 $param api
5 $param type
6 h3 ${title}
7 $if type.properties.length > 0
8 h5 Properties
9 $foreach p in type.properties
10 . gsf-smr-0 api-property-panel
11 . gsf-smr-1 api-property
12 @ name ${api.wzName}.${p.wzName}
13 @ id ${api.wzName}.${p.wzName}
14 $_ typed_name
15 $@ p
16 $@ 'property'
17 $_ comments
18 $@ p
19 $@ 2
20 $@ 'property'
21 $if p.apiRef
22 . gsf-smr-2
23 span api-ref
24 class api-label-api-ref
25 span
26 class api-ref
27 a ${p.apiRef}
28 href #${p.apiRef}
29 $if p.type === 'object'
30 $_ buildup_object
31 $@ p
32 $@ 2
33 $if p.type === 'array'
34 $_ buildup_array
35 $@ p
36 $@ 2
37 $if type.methods.length > 0
38 h5 Methods
39 $foreach m in type.methods
40 $
41 var methodName = m.wzTag === 'ctor' ? 'constructor' : m.wzName;
42 . gsf-smr-0 api-method-panel
43 @ name ${api.wzName}.${methodName}
44 @ id ${api.wzName}.${methodName}
45 . gsf-smr-1 api-method
46 span ${api.wzName}.${methodName}(...)
47 . gsf-smr-2
48 $if m.isAsync
49 span async 
50 $if m.type
51 span ${m.type}
52 $if m.isInternal
53 span , internal method
54 $if m.implementedBy
55 span , implemented by
56 a  ${m.implementedBy}
57 href #${m.implementedBy}
58 $if m.calledBy
59 span , called by
60 a ${m.calledBy}
61 href #${m.calledBy}
62 $if m.throwIf
63 span , throw if ${m.throwIf}
64 $_ comments
65 $@ m
66 $@ 2
67 $@ 'method'
68 $if m.params.length > 0
69 . gsf-smr-2 api-method-section-title
70 span Params
71 $foreach p in m.params
72 . gsf-smr-3 api-param-panel
73 $_ typed_name
74 $@ p
75 $@ 'param'
76 $_ comments
77 $@ p
78 $@ 4
79 $@ 'param'
80 $_ api_ref
81 $@ p
82 $@ 4
83 $if p.isPOJO
84 . gsf-smr-4
85 span POJO
86 $if p.defaultValue
87 . gsf-smr-4
88 span default ${p.defaultValue}
89 $if p.isRequired
90 . gsf-smr-4
91 span required
92 $if p.iface
93 . gsf-smr-4
94 span interface ${p.iface}
95 $if p.type === 'object'
96 $_ buildup_object
97 $@ p
98 $@ 4
99 $if p.type === 'array'
100 $_ buildup_array
101 $@ p
102 $@ 4
103 $if p.type === 'callback-function'
104 $_ buildup_cb
105 $@ p
106 $@ 4
107 $if m.return
108 . gsf-smr-2 api-method-section-title
109 span Return
110 $foreach v in m.return.values
111 $_ typed_value
112 $@ v
113 $@ 3
114 $if m.info
115 . gsf-smr-2 api-method-section-title
116 span Info
117 $_ comments
118 $@ m.info
119 $@ 3
120 $@ 'info'
121 $foreach it in m.info.infoItems
122 $_ info_item
123 $@ it
124 $@ 3

/src/ittf/jobs/ittf__copy/api/html/api/wf-api.html.ittf

    
1 html
2 $
3 var currentPage = 'api'
4 var currentSubPage = null;
5 var type = {};
6 html/layout_compile()
7 $append styles
8 css api-styles.css
9 $include misc
10 $include cb
11 $include info
12 $include object
13 $include array
14 $include type
15 html/nav_sidebar()
16 section
17 id main-toc
18 class toc
19 h3 Contents:
20 ol
21 $foreach api in wfsystem.apis
22 li
23 a ${api.wzName}
24 href #${api.wzName}
25 div
26 class main-content
27 $foreach api in wfsystem.apis
28 h1 ${api.wzName}
29 @ name ${api.wzName}
30 @ id ${api.wzName}
31 div
32 class api-sub-1
33 span ${api.kind} API
34 $if api.implementation
35 span , ${api.implementation.type}
36 $if api.implementation.path
37 span , source path: ${api.implementation.path}
38 $if api.implementation.standardPath
39 span , source standard path: ${api.implementation.standardPath}
40 $_ comments
41 $@ api
42 $@ 0
43 $@ 'api'
44 $if api.interface
45 $ var type = api.interface;
46 $_ buildup_type
47 $@ 'Interface'
48 $@ api
49 $@ type
50 hr
51 $if api.type
52 $ var type = api.type;
53 $_ buildup_type
54 $@ 'Type'
55 $@ api
56 $@ type

/src/ittf/jobs/ittf__copy/api/api_preprocess.wfjob.ittf

    
1 wfjob apis
2 $
3 var models_folder = 'c:/my/wizzi/v4/demo/wizzi-documentation/src/ittf/models/api';
4 var ittf_lib_folder = path.join(__dirname, 'dumps', 'api');
5 var dest_folder = path.join(__dirname, 'preprocess', 'api');
6 models-base-folder ${models_folder}
7 model wf
8 src wf.api.ittf
9 schema ittf
10 line one
11 cwd-folder ${models_folder}
12 dest-folder ${dest_folder}
13 artifact wf.api first transformer
14 src wf.api.ittf
15 schema ittf
16 generator ittf/document
17 extension api.ittf
18 transformer api/traverse
19 line stop
20 cwd-folder ${ittf_lib_folder}
21 dest-folder ${dest_folder}
22 artifact wf.api first transformer
23 src wf.api.ittf
24 schema ittf
25 generator ittf/document
26 extension ittf
27 model-ref wf
28 transformer api/traverse
29 export-name api
30 production
31 dest-folder ${dest_folder}
32 line-ref one

/src/ittf/jobs/ittf__copy/api/api.wfjob.ittf

    
1 wfjob apis_preprocess
2 $
3 var ittf_preprocess_folder = path.join(__dirname, 'preprocess', 'api');
4 var ittf_html_folder = path.join(__dirname, 'html', 'api');
5 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io";
6 models-base-folder ${ittf_preprocess_folder}
7 model wf
8 src wf.api.ittf
9 schema wfsystem
10 line one
11 cwd-folder ${ittf_preprocess_folder}
12 dest-folder ${dest_folder}
13 artifact json export of wfsystem with preprocessed api
14 src wf.api.ittf
15 schema wfsystem
16 generator json/export
17 extension api.json
18 line two
19 cwd-folder ${ittf_html_folder}
20 dest-folder ${dest_folder}
21 artifact html api
22 src wf-api.html.ittf
23 schema html
24 is-compile
25 generator html/document
26 dest-path api.html
27 model-ref wf
28 export-name wfsystem
29 production
30 dest-folder ${dest_folder}
31 line-ref one
32 line-ref two

/src/ittf/jobs/ittf__copy/code/dumps/package/package-dump.ittf.ittf

    
1 wfpackage ${wfpackage.value}
2 $function buildup_node
3 $param item
4 ${item.name} ${item.value}
5 $foreach c in item.children
6 $_ buildup_node
7 $@ c
8 $foreach c in wfpackage.children
9 $_ buildup_node
10 $@ c

/src/ittf/jobs/ittf__copy/code/html/package/t/folder_source.html.ittf

    
1 $group
2 $function buildup_folder_source
3 $param folder
4 $param level
5 $foreach f in folder.folders
6 $_ buildup_folder_source
7 $@ f
8 $@ level + 1
9 $foreach d in folder.documents
10 $global
11 dcount++;
12 . code-panel
13 @ id ${d.id}
14 . modal-view-container
15 h4 ${d.path}
16 class d-h2
17 $*
18 $if d.ittf.fragments.length > 0
19 h4 Fragments
20 class frag-h4
21 ul
22 $foreach f in d.ittf.fragments
23 li
24 class frag-to-link-li
25 a ${f.wzName}
26 href #${f.uri}
27 data-frag-id ${f.documentId}
28 class frag-to-link-a
29 *$
30 pre
31 class prettyprint
32 + ${'\n'}${_.deinline(d.ittf.wzName)}

/src/ittf/jobs/ittf__copy/code/html/package/t/folder.html.ittf

    
1 $group
2 $function buildup_folder
3 $param folder
4 $param level
5 ul
6 $foreach f in folder.folders
7 li
8 input
9 type checkbox
10 $if f.isTFolder == false && level < 2
11 checked
12 id ${f.id}
13 span
14 label ${f.wzName}
15 for ${f.id}
16 $_ buildup_folder
17 $@ f
18 $@ level + 1
19 $foreach d in folder.documents
20 li
21 a ${d.wzName}
22 href #${d.id}

/src/ittf/jobs/ittf__copy/code/html/package/package.html.ittf

    
1 html
2 $
3 var currentPage = 'code';
4 var currentSubPage = wfpackage.wzName;
5 var type = {};
6 html/layout_compile()
7 $append styles
8 css styles.css
9 $include folder
10 $include folder_source
11 $global
12 var count = 0;
13 var dcount = 0;
14 html/nav_sidebar()
15 section
16 id main-toc
17 class toc
18 h3 ${wfpackage.wzName} ittf source code:
19 . treeview
20 $global
21 dcount = 0;
22 $foreach f in wfpackage.folders
23 $_ buildup_folder
24 $@ f
25 $@ 0
26 div
27 class main-content
28 $global
29 dcount = 0;
30 $foreach f in wfpackage.folders
31 $_ buildup_folder_source
32 $@ f
33 $@ 0
34 . modal
35 id frag-modal
36 . modal-content
37 id frag-modal-content
38 span ×
39 class modal-close

/src/ittf/jobs/ittf__copy/code/code_preprocess.wfjob.ittf

    
1 wfjob code_preprocess
2 $
3 var models_folder = 'c:/my/wizzi/v4/demo/wizzi-documentation/src/ittf/models/packages';
4 var ittf_lib_folder = path.join(__dirname, 'dumps', 'package');
5 var dest_folder = path.join(__dirname, 'preprocess', 'package');
6 models-base-folder ${models_folder}
7 model wf
8 $if false
9 src v4-kernel.wfpackage.ittf
10 $if false
11 src v4-plugins.wfpackage.ittf
12 $if true
13 src v4-demo.wfpackage.ittf
14 schema wfpackage
15 line one
16 cwd-folder ${ittf_lib_folder}
17 dest-folder ${dest_folder}
18 artifact wf.package first transformer
19 src package-dump.ittf.ittf
20 schema ittf
21 is-compile
22 generator ittf/document
23 dest-path {package}.wfpackage.ittf
24 model-ref wf
25 transformer wfpackage/fs-scanner
26 model-coll generatedPackages
27 item-name wfpackage
28 path-template-value
29 attribute value
30 token package
31 production
32 dest-folder ${dest_folder}
33 line-ref one

/src/ittf/jobs/ittf__copy/code/code.wfjob.ittf

    
1 wfjob package
2 $
3 var ittf_preprocess_folder = path.join(__dirname, 'preprocess', 'package');
4 var ittf_html_folder = path.join(__dirname, 'html', 'package');
5 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io";
6 // var pkgs = ['wizzi', 'wizzi-mtree', 'wizzi-repo', 'wizzi-utils'];
7 // var pkgs = ['wizzi-core', 'wizzi-meta', 'wizzi-docs'];
8 var pkgs = ['wizzi-documentation', 'wizzi-demo'];
9 models-base-folder ${ittf_preprocess_folder}
10 $foreach pkg in pkgs
11 model wf-${pkg}
12 src ${pkg}.wfpackage.ittf
13 schema wfpackage
14 line one
15 cwd-folder ${ittf_preprocess_folder}
16 dest-folder ${dest_folder}
17 $foreach pkg in pkgs
18 artifact json export of wfpackage with preprocessed package
19 src ${pkg}.wfpackage.ittf
20 schema wfpackage
21 generator json/export
22 extension json
23 line two
24 cwd-folder ${ittf_html_folder}
25 dest-folder ${dest_folder}
26 $foreach pkg in pkgs
27 artifact html package
28 src package.html.ittf
29 schema html
30 is-compile
31 generator html/document
32 dest-path code/${pkg}.html
33 model-ref wf-${pkg}
34 export-name wfpackage
35 production
36 dest-folder ${dest_folder}
37 line-ref one
38 line-ref two

/src/ittf/jobs/ittf__copy/docs/html/__examples/github.html.ittf

    
1 html
2 lang en
3 head
4 meta
5 http-equiv Content-Type
6 content text/html; charset=UTF-8
7 meta
8 http-equiv Content-Language
9 content en-us
10 meta
11 http-equiv imagetoolbar
12 content false
13 meta
14 name MSSmartTagsPreventParsing
15 content true
16 meta
17 name viewport
18 content width=device-width,initial-scale=1
19 @title GitHub Developer | GitHub Developer Guide
20 link
21 rel alternate
22 type application/atom+xml
23 title API Changes
24 href /changes.atom
25 link
26 rel stylesheet
27 href https://fonts.googleapis.com/css?family=Roboto:400,300,400italic,500
28 link
29 href /assets/stylesheets/application.css
30 rel stylesheet
31 type text/css
32 js https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js
33 js /assets/javascripts/application.js
34 body
35 class overview
36 header
37 class site-header
38 . container
39 id header
40 a
41 class site-header-logo mt-1
42 href /
43 img
44 src /assets/images/github-developer-logo.svg
45 alt GitHub Developer
46 nav
47 class site-header-nav
48 a GraphQL API v4
49 class site-header-nav-item
50 href /v4/
51 a REST API v3
52 class site-header-nav-item
53 href /v3/
54 a Apps
55 class site-header-nav-item
56 href /apps/
57 a Blog
58 class site-header-nav-item
59 href /changes/
60 a Early Access
61 class site-header-nav-item
62 href /early-access/
63 a Support
64 class site-header-nav-item
65 href https://github.com/contact
66 form
67 accept-charset UTF-8
68 action #
69 class site-header-nav-item site-header-search
70 label
71 id search-container
72 class mb-0
73 input
74 type text
75 id searchfield
76 class form-control
77 placeholder Search…
78 autocomplete off
79 autocorrect off
80 autocapitalize off
81 spellcheck false
82 . cancel-search
83 ul
84 id search-results
85 . text-center bg-gray-light overflow-hidden
86 img
87 src ../assets/images/hero-circuit-bg.svg
88 alt github-circuit-board-illustration
89 class hero-img
90 . py-6 bg-custom-gradient
91 . container text-center
92 h1
93 class text-beta
94 a
95 id build-your-app-on-githubs-platform
96 class anchor
97 href #build-your-app-on-githubs-platform
98 aria-hidden true
99 span
100 aria-hidden true
101 class octicon octicon-link
102 + Build your app on GitHub's platform
103 p Not sure where to start? We’ve put together some handy guides and reference documentation you can use to start building.
104 class lead text-center mb-6
105 a Learn more about v4 of the GitHub API
106 class btn btn-blue
107 href /v4
108 hr
109 class my-6
110 . container mb-4
111 . row clearfix
112 . col-xs-12 col-md-6 col-lg-8 pr-md-4
113 div Introduction to GraphQL
114 class text-gamma
115 p Let's walk through the inner workings of our GraphQL API.
116 class mb-2
117 p
118 class mb-6
119 a Read the guide →
120 href v4/guides/intro-to-graphql/
121 class link-mono
122 div Forming API calls with GraphQL
123 class text-gamma
124 p In this section, we're going to focus on how to form a GraphQL API call.
125 class mb-2
126 p
127 class mb-6
128 a Read the guide →
129 href v4/guides/forming-calls/
130 class link-mono
131 div Migrating from REST to GraphQL
132 class text-gamma
133 p We'll also help you explore the path to migrating from REST to GraphQL.
134 class mb-2
135 p
136 class mb-6
137 a Read the guide →
138 href /v4/guides/migrating-from-rest
139 class link-mono
140 div Building an OAuth App or GitHub App
141 class text-gamma
142 p Choose GitHub Apps or OAuth Apps to get started developing an integration.
143 class mb-2
144 p
145 class mb-6
146 a Read the docs →
147 href /apps/building-integrations/
148 class link-mono
149 . col-xs-12 col-md-6 col-lg-4 pl-md-5
150 . card
151 . border-bottom px-3 py-3
152 . text-gamma d-flex flex-items-center
153 span
154 class octicon octicon-telescope mega-octicon text-gray-dark mr-2
155 + Ecosystem
156 p Showcase what you've built on GitHub
157 class body-sm
158 . border-bottom px-3 py-3
159 . mb-3
160 a Marketplace
161 class link-mono
162 href /apps/adding-integrations/listing-apps-on-github-marketplace/about-github-marketplace/
163 target _blank
164 . mb-3
165 a Marketplace Guidelines
166 class link-mono
167 href /apps/adding-integrations/listing-apps-on-github-marketplace/
168 target _blank
169 . mb-3
170 a Works with GitHub
171 class link-mono
172 href /apps/adding-integrations/adding-integrations-to-works-with-github/about-works-with-github/
173 target _blank
174 . mb-3
175 a Works with GitHub Guidelines
176 class link-mono
177 href /apps/adding-integrations/adding-integrations-to-works-with-github/requirements-for-adding-an-integration-to-works-with-github
178 target _blank
179 . px-4 py-3 text-center
180 a Join the GitHub Developer Program
181 href /program/
182 . container
183 h2
184 class text-beta text-center mt-3
185 a
186 id see-what-others-have-built-on-github
187 class anchor
188 href #see-what-others-have-built-on-github
189 aria-hidden true
190 span
191 aria-hidden true
192 class octicon octicon-link
193 + See what others have built on GitHub
194 p Build with tools from GitHub Marketplace.
195 class lead text-center pb-6
196 . row gut-3 clearfix
197 . col-xs-12 col-md-6 col-lg-4
198 a
199 class card bg-gray-light p-4 mb-4 d-block clearfix
200 target _blank
201 href https://github.com/marketplace/circleci
202 img
203 class float-left rounded-1
204 src ../assets/images/icon-circle-ci.png
205 style width: 50px;
206 alt app-icon
207 . pl-3 float-left
208 div Circle CI
209 class text-black text-bold mt-1
210 div Continuous Integration
211 class f6 text-mono
212 . col-xs-12 col-md-6 col-lg-4
213 a
214 class card bg-gray-light p-4 mb-4 d-block clearfix
215 target _blank
216 href https://github.com/marketplace/zenhub
217 img
218 class float-left rounded-1
219 src ../assets/images/icon-zenhub.png
220 style width: 50px;
221 alt app-icon
222 . pl-3 float-left
223 div ZenHub
224 class text-black text-bold mt-1
225 div Project Management
226 class f6 text-mono
227 . col-xs-12 col-md-6 col-lg-4
228 a
229 class card bg-gray-light p-4 mb-4 d-block clearfix
230 target _blank
231 href https://github.com/marketplace/codecov
232 img
233 class float-left rounded-1
234 src ../assets/images/icon-codecov.png
235 style width: 50px;
236 alt app-icon
237 . pl-3 float-left
238 div Codecov
239 class text-black text-bold mt-1
240 div Code Quality
241 class f6 text-mono
242 . col-xs-12 col-md-6 col-lg-4
243 a
244 class card bg-gray-light p-4 mb-4 d-block clearfix
245 target _blank
246 href https://github.com/marketplace/rollbar
247 img
248 class float-left rounded-1
249 src ../assets/images/icon-rollbar.png
250 style width: 50px;
251 alt app-icon
252 . pl-3 float-left
253 div Rollbar
254 class text-black text-bold mt-1
255 div Monitoring
256 class f6 text-mono
257 . col-xs-12 col-md-6 col-lg-4
258 a
259 class card bg-gray-light p-4 mb-4 d-block clearfix
260 target _blank
261 href https://github.com/marketplace/codetree
262 img
263 class float-left rounded-1
264 src ../assets/images/icon-codetree.png
265 style width: 50px;
266 alt app-icon
267 . pl-3 float-left
268 div Codetree
269 class text-black text-bold mt-1
270 div Project Management
271 class f6 text-mono
272 . col-xs-12 col-md-6 col-lg-4
273 a
274 class card bg-gray-light p-4 mb-4 d-block clearfix
275 target _blank
276 href https://github.com/marketplace/appveyor
277 img
278 class float-left rounded-1
279 src ../assets/images/icon-appveyor.png
280 style width: 50px;
281 alt app-icon
282 . pl-3 float-left
283 div Appveyor
284 class text-black text-bold mt-1
285 div Continuous Integration
286 class f6 text-mono
287 . text-center mt-4 mb-5
288 a Browse GitHub Marketplace
289 class btn-outline btn
290 href http://github.com/marketplace
291 . bg-shade-gradient pt-6
292 . container
293 h2
294 class text-beta text-center mt-3
295 a
296 id stay-in-the-know
297 class anchor
298 href #stay-in-the-know
299 aria-hidden true
300 span
301 aria-hidden true
302 class octicon octicon-link
303 + Stay in the know
304 p Keep up to date with the latest updates to the GitHub API
305 class lead text-center mb-6
306 . card
307 . p-4 border-bottom
308 span New
309 class text-mono bg-blue text-white px-3 pt-1 rounded-1 float-right d-block
310 a Breaking changes to creating webhooks via the API
311 class text-gamma pr-6 d-block
312 href /changes/2017-08-09-breaking-changes-to-webhook-creation/
313 span
314 class text-mono text-small mr-2
315 span
316 class octicon octicon-calendar text-gray-light mr-1
317 style margin-top: -3px;
318 + August 9, 2017
319 span
320 class text-mono text-small mr-2
321 span
322 class octicon text-gray-light mr-1
323 style margin-top: -3px;
324 img
325 height 16
326 width 16
327 src https://github.com/gjtorikian.png
328 alt Avatar for gjtorikian
329 data-proofer-ignore
330 a gjtorikian
331 class link-gray
332 href https://github.com/gjtorikian
333 data-proofer-ignore
334 span
335 class text-mono text-small mr-2
336 span
337 class octicon text-gray-light mr-1
338 style margin-top: -3px;
339 img
340 height 16
341 width 16
342 src https://github.com/bswinnerton.png
343 alt Avatar for bswinnerton
344 data-proofer-ignore
345 a bswinnerton
346 class link-gray
347 href https://github.com/bswinnerton
348 data-proofer-ignore
349 . p-4 border-bottom
350 a Preview team review requests API
351 class text-gamma pr-6 text-gray-dark d-block
352 style opacity: 0.8;
353 href /changes/2017-07-26-team-review-request-thor-preview/
354 span
355 class text-mono text-small mr-2
356 span
357 class octicon octicon-calendar text-gray-light mr-1
358 style margin-top: -3px;
359 + July 26, 2017
360 span
361 class text-mono text-small mr-2
362 span
363 class octicon text-gray-light mr-1
364 style margin-top: -3px;
365 img
366 height 16
367 width 16
368 src https://github.com/nplasterer.png
369 alt Avatar for nplasterer
370 data-proofer-ignore
371 a nplasterer
372 class link-gray
373 href https://github.com/nplasterer
374 data-proofer-ignore
375 . p-4 border-bottom
376 a Upcoming routing changes for GitHub Apps (formerly Integrations)
377 class text-gamma pr-6 text-gray-dark d-block
378 style opacity: 0.8;
379 href /changes/2017-07-19-removal-of-integrations-routes/
380 span
381 class text-mono text-small mr-2
382 span
383 class octicon octicon-calendar text-gray-light mr-1
384 style margin-top: -3px;
385 + July 19, 2017
386 span
387 class text-mono text-small mr-2
388 span
389 class octicon text-gray-light mr-1
390 style margin-top: -3px;
391 img
392 height 16
393 width 16
394 src https://github.com/davidcelis.png
395 alt Avatar for davidcelis
396 data-proofer-ignore
397 a davidcelis
398 class link-gray
399 href https://github.com/davidcelis
400 data-proofer-ignore
401 . p-4 border-bottom
402 a Repository API - read and replace topics for a repository
403 class text-gamma pr-6 text-gray-dark d-block
404 style opacity: 0.8;
405 href /changes/2017-07-17-update-topics-on-repositories/
406 span
407 class text-mono text-small mr-2
408 span
409 class octicon octicon-calendar text-gray-light mr-1
410 style margin-top: -3px;
411 + July 17, 2017
412 span
413 class text-mono text-small mr-2
414 span
415 class octicon text-gray-light mr-1
416 style margin-top: -3px;
417 img
418 height 16
419 width 16
420 src https://github.com/kytrinyx.png
421 alt Avatar for kytrinyx
422 data-proofer-ignore
423 a kytrinyx
424 class link-gray
425 href https://github.com/kytrinyx
426 data-proofer-ignore
427 . p-4 border-bottom
428 a Installations API - updated routes for adding or removing a repository
429 class text-gamma pr-6 text-gray-dark d-block
430 style opacity: 0.8;
431 href /changes/2017-06-30-installations-adding-removing-a-repository/
432 span
433 class text-mono text-small mr-2
434 span
435 class octicon octicon-calendar text-gray-light mr-1
436 style margin-top: -3px;
437 + June 30, 2017
438 span
439 class text-mono text-small mr-2
440 span
441 class octicon text-gray-light mr-1
442 style margin-top: -3px;
443 img
444 height 16
445 width 16
446 src https://github.com/keavy.png
447 alt Avatar for keavy
448 data-proofer-ignore
449 a keavy
450 class link-gray
451 href https://github.com/keavy
452 data-proofer-ignore
453 . p-4 border-bottom
454 a Protected Branches API becomes an official part of API v3 on September 1st
455 class text-gamma pr-6 text-gray-dark d-block
456 style opacity: 0.8;
457 href /changes/2017-06-16-loki-preview-ending-soon/
458 span
459 class text-mono text-small mr-2
460 span
461 class octicon octicon-calendar text-gray-light mr-1
462 style margin-top: -3px;
463 + June 16, 2017
464 span
465 class text-mono text-small mr-2
466 span
467 class octicon text-gray-light mr-1
468 style margin-top: -3px;
469 img
470 height 16
471 width 16
472 src https://github.com/nplasterer.png
473 alt Avatar for nplasterer
474 data-proofer-ignore
475 a nplasterer
476 class link-gray
477 href https://github.com/nplasterer
478 data-proofer-ignore
479 . bg-blue py-3 mt-6 text-white
480 style margin-bottom:-30px;
481 . container
482 . row clearfix
483 style width: 100%;
484 . col-xs-12 col-12 col-md-6 py-3 d-xs-block
485 div Never miss an update!
486 class text-gamma pt-1 mb-0 text-white
487 p Join the newsletter to be informed of every new update.
488 class mb-0 text-small
489 style color: rgba(255,255,255,.7);
490 . col-xs-12 col-12 col-md-6 py-3 text-right d-xs-block
491 div
492 id mc_embed_signup
493 form
494 action //github.us11.list-manage.com/subscribe/post?u=9d7ced8c4bbd6c2f238673f0f&id=7d9164de9f
495 method post
496 id mc-embedded-subscribe-form
497 name mc-embedded-subscribe-form
498 class validate mt-md-2
499 target _blank
500 novalidate
501 . row clearfix gut-3
502 . col-12 col-md-8
503 . mc-field-group mb-3 mb-md-3
504 input
505 type email
506 value
507 name EMAIL
508 class required email form-control d-block
509 id mce-EMAIL
510 placeholder Your email
511 style height: 42px; width: 100%;
512 . col-12 col-md-4
513 . clear
514 input
515 type submit
516 value Join
517 name subscribe
518 id mc-embedded-subscribe
519 class btn btn-blue ml-0 text-center btn-block d-block
520 . clear clearfix text-small
521 id mce-responses
522 style color: rgba(255,255,255,.7);
523 . response mt-3
524 id mce-error-response
525 style display:none
526 . response mt-3
527 id mce-success-response
528 style display:none
529 div
530 style position: absolute; left: -5000px;
531 aria-hidden true
532 input
533 type text
534 name b_9d7ced8c4bbd6c2f238673f0f_7d9164de9f
535 tabindex -1
536 value
537 js //s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js
538 footer
539 class footer text-muted
540 . container
541 span © 2017 GitHub Inc. All rights reserved.
542 class footer-legal
543 span
544 class mega-octicon octicon-mark-github footer-mark
545 nav
546 class footer-nav
547 a Terms of service
548 class footer-nav-item
549 href https://help.github.com/articles/github-terms-of-service
550 a Privacy
551 class footer-nav-item
552 href https://github.com/site/privacy
553 a Security
554 class footer-nav-item
555 href https://github.com/security
556 a Support
557 class footer-nav-item
558 href https://github.com/support
559 script
560 $.
561 (function( i, s, o, g, r, a, m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){)
562 (i[r].q=i[r].q||[]).push( arguments)}, i[r].l=1*new Date();a=s.createElement(o))
563 m=s.getElementsByTagName( o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a, m)
564 })( window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');)
565 ga( 'create', 'UA-3769691-37', 'github.com');)
566 ga( 'send', 'pageview');)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/array1.html.ittf

    
1 $group
2 $params &obj1
3 $
4 var item = obj1.items.length == 1 ? obj1.items[0] : null;
5 var obj2 = item;
6 $if item != null
7 table
8 tr
9 td item ${item.wzName}
10 @ valign top
11 td
12 @ valign top
13 span ${item.type}
14 $if item.type === 'object'
15 span {
16 $if item.type === 'array'
17 span [
18 table
19 $if item.type.apiRef
20 tr
21 td api ref
22 @ valign top
23 td
24 @ valign top
25 a ${item.type.apiRef}
26 href #${item.type.apiRef}
27 $if item.type === 'array'
28 tr
29 td
30 @ valign top
31 ./array2( &obj2)
32 $if item.type === 'object'
33 tr
34 td
35 @ valign top
36 ./object2( &obj2)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/array2.html.ittf

    
1 $group
2 $params &obj2
3 $
4 var item = obj2.items.length == 2 ? obj2.items[0] : null;
5 var obj3 = item;
6 $if item != null
7 table
8 tr
9 td item ${item.wzName}
10 @ valign top
11 td
12 @ valign top
13 span ${item.type}
14 $if item.type === 'object'
15 span {
16 $if item.type === 'array'
17 span [
18 table
19 $if item.type.apiRef
20 tr
21 td api ref
22 @ valign top
23 td
24 @ valign top
25 a ${item.type.apiRef}
26 href #${item.type.apiRef}
27 $if item.type === 'array'
28 tr
29 td
30 @ valign top
31 ./array3( &obj3)
32 $if item.type === 'object'
33 tr
34 td
35 @ valign top
36 ./object3( &obj3)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/array3.html.ittf

    
1 $group
2 $params &obj3
3 $
4 var item = obj3.items.length == 3 ? obj3.items[0] : null;
5 var obj4 = item;
6 $if item != null
7 table
8 tr
9 td item ${item.wzName}
10 @ valign top
11 td
12 @ valign top
13 span ${item.type}
14 $if item.type === 'object'
15 span {
16 $if item.type === 'array'
17 span [
18 table
19 $if item.type.apiRef
20 tr
21 td api ref
22 @ valign top
23 td
24 @ valign top
25 a ${item.type.apiRef}
26 href #${item.type.apiRef}
27 $if item.type === 'array'
28 tr
29 td
30 @ valign top
31 ./array4( &obj4)
32 $if item.type === 'object'
33 tr
34 td
35 @ valign top
36 ./object4( &obj4)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/array4.html.ittf

    
1 $group
2 $params &obj4
3 $
4 var item = obj4.items.length == 4 ? obj4.items[0] : null;
5 var obj5 = item;
6 $if item != null
7 table
8 tr
9 td item ${item.wzName}
10 @ valign top
11 td
12 @ valign top
13 span ${item.type}
14 $if item.type === 'object'
15 span {
16 $if item.type === 'array'
17 span [
18 table
19 $if item.type.apiRef
20 tr
21 td api ref
22 @ valign top
23 td
24 @ valign top
25 a ${item.type.apiRef}
26 href #${item.type.apiRef}
27 $if item.type === 'array'
28 tr
29 td
30 @ valign top
31 ./array5( &obj5)
32 $if item.type === 'object'
33 tr
34 td
35 @ valign top
36 ./object5( &obj5)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/array5.html.ittf

    
1 $group
2 $params &obj5
3 $
4 var item = obj5.items.length == 5 ? obj5.items[0] : null;
5 var obj6 = item;
6 $if item != null
7 table
8 tr
9 td item ${item.wzName}
10 @ valign top
11 td
12 @ valign top
13 span ${item.type}
14 $if item.type === 'object'
15 span {
16 $if item.type === 'array'
17 span [
18 table
19 $if item.type.apiRef
20 tr
21 td api ref
22 @ valign top
23 td
24 @ valign top
25 a ${item.type.apiRef}
26 href #${item.type.apiRef}
27 $if item.type === 'array'
28 tr
29 td
30 @ valign top
31 h1 Sorry too deep in array5
32 $$ ./array6(&obj6)
33 $if item.type === 'object'
34 tr
35 td
36 @ valign top
37 h1 Sorry too deep in array5
38 $$ ./object6(&obj6)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/cb1.html.ittf

    
1 $group
2 $params &obj1
3 $
4 var obj2 = {};
5 $if obj1.xarguments.length > 0
6 table
7 $foreach arg in obj1.xarguments
8 $
9 obj2 = arg;
10 tr
11 td arg
12 @ valign top
13 td ${arg.wzName}
14 @ valign top
15 td ${arg.type}
16 @ valign top
17 $if arg.type === 'alternative'
18 table
19 $foreach v in arg.values
20 $
21 obj2 = arg;
22 tr
23 td | ${v.wzName}
24 @ valign top
25 td
26 @ valign top
27 $if v.wzName != v.type
28 span ${v.type}
29 $if v.type === 'exception' && v.errors.length > 0
30 table
31 $foreach err in v.errors
32 tr
33 td ${err.wzName}
34 $else
35 table
36 $if v.apiRef
37 tr
38 td api ref
39 td
40 a ${v.apiRef}
41 href #${v.apiRef}
42 $if v.isPOJO
43 tr
44 td POJO
45 $if v.defaultValue
46 tr
47 td default
48 td ${v.defaultValue}
49 $if v.isRequired
50 tr
51 td required
52 $if v.iface
53 tr
54 td interface
55 td ${v.iface}
56 $if v.type === 'object'
57 tr
58 td
59 ./object2( &obj2)
60 $if v.type === 'array'
61 tr
62 td
63 ./array2( &obj2)
64 $elif arg.type === 'switch'
65 table
66 $foreach xon in arg.ons
67 tr
68 td | on ${xon.wzName}
69 @ valign top
70 table
71 $foreach v in xon.values
72 $
73 obj2 = v;
74 tr
75 td ${v.wzName}
76 @ valign top
77 td
78 @ valign top
79 $if v.wzName != v.type
80 span ${v.type}
81 $group
82 table
83 $if v.apiRef
84 tr
85 td api ref
86 td
87 a ${v.apiRef}
88 href #${v.apiRef}
89 $if v.isPOJO
90 tr
91 td POJO
92 $if v.defaultValue
93 tr
94 td default
95 td ${v.defaultValue}
96 $if v.isRequired
97 tr
98 td required
99 $if v.iface
100 tr
101 td interface
102 td ${v.iface}
103 $if v.type === 'object'
104 tr
105 td
106 ./object2( &obj2)
107 $if v.type === 'array'
108 tr
109 td
110 ./array2( &obj2)
111 $else
112 td ${arg.wzName}
113 @ valign top
114 td ${arg.type}
115 @ valign top
116 table
117 $if arg.apiRef
118 tr
119 td api ref
120 td
121 a ${arg.apiRef}
122 href #${arg.apiRef}
123 $if arg.isPOJO
124 tr
125 td POJO
126 $if arg.defaultValue
127 tr
128 td default
129 td ${arg.defaultValue}
130 $if arg.isRequired
131 tr
132 td required
133 $if arg.iface
134 tr
135 td interface
136 td ${arg.iface}
137 $if arg.type === 'object'
138 tr
139 td
140 ./object2( &obj2)
141 $if arg.type === 'array'
142 tr
143 td
144 ./array2( &obj2)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/object1.html.ittf

    
1 $group
2 $params &obj1
3 $
4 var obj2 = {};
5 $if obj1.properties.length > 0
6 table
7 $foreach prop in obj1.properties
8 $
9 obj2 = prop;
10 tr
11 td ${prop.wzName}
12 @ valign top
13 td
14 @ valign top
15 span ${prop.type}
16 $if prop.type === 'object'
17 span {
18 $if prop.type === 'array'
19 span [
20 table
21 $if prop.isPOJO
22 tr
23 td POJO
24 $if prop.defaultValue
25 tr
26 td default
27 td ${prop.defaultValue}
28 $if prop.isRequired
29 tr
30 td required
31 $if prop.iface
32 tr
33 td interface
34 td ${prop.iface}
35 $if prop.apiRef
36 tr
37 td api ref
38 td
39 a ${prop.apiRef}
40 href #${prop.apiRef}
41 $if prop.type === 'object'
42 tr
43 td
44 ./object2( &obj2)
45 $if prop.type === 'array'
46 tr
47 td
48 ./array2( &obj2)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/object2.html.ittf

    
1 $group
2 $params &obj2
3 $
4 var obj3 = {};
5 $if obj2.properties.length > 0
6 table
7 $foreach prop in obj2.properties
8 $
9 obj3 = prop;
10 tr
11 td ${prop.wzName}
12 @ valign top
13 td
14 @ valign top
15 span ${prop.type}
16 $if prop.type === 'object'
17 span {
18 $if prop.type === 'array'
19 span [
20 table
21 $if prop.isPOJO
22 tr
23 td POJO
24 $if prop.defaultValue
25 tr
26 td default
27 td ${prop.defaultValue}
28 $if prop.isRequired
29 tr
30 td required
31 $if prop.iface
32 tr
33 td interface
34 td ${prop.iface}
35 $if prop.apiRef
36 tr
37 td api ref
38 td
39 a ${prop.apiRef}
40 href #${prop.apiRef}
41 $if prop.type === 'object'
42 tr
43 td
44 ./object3( &obj3)
45 $if prop.type === 'array'
46 tr
47 td
48 ./array3( &obj3)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/object3.html.ittf

    
1 $group
2 $params &obj3
3 $
4 var obj4 = {};
5 $if obj3.properties.length > 0
6 table
7 $foreach prop in obj3.properties
8 $
9 obj4 = prop;
10 tr
11 td ${prop.wzName}
12 @ valign top
13 td
14 @ valign top
15 span ${prop.type}
16 $if prop.type === 'object'
17 span {
18 $if prop.type === 'array'
19 span [
20 table
21 $if prop.isPOJO
22 tr
23 td POJO
24 $if prop.defaultValue
25 tr
26 td default
27 td ${prop.defaultValue}
28 $if prop.isRequired
29 tr
30 td required
31 $if prop.iface
32 tr
33 td interface
34 td ${prop.iface}
35 $if prop.apiRef
36 tr
37 td api ref
38 td
39 a ${prop.apiRef}
40 href #${prop.apiRef}
41 $if prop.type === 'object'
42 tr
43 td
44 ./object4( &obj4)
45 $if prop.type === 'array'
46 tr
47 td
48 ./array4( &obj4)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/object4.html.ittf

    
1 $group
2 $params &obj4
3 $
4 var obj5 = {};
5 $if obj4.properties.length > 0
6 table
7 $foreach prop in obj4.properties
8 $
9 obj5 = prop;
10 tr
11 td ${prop.wzName}
12 @ valign top
13 td
14 @ valign top
15 span ${prop.type}
16 $if prop.type === 'object'
17 span {
18 $if prop.type === 'array'
19 span [
20 table
21 $if prop.isPOJO
22 tr
23 td POJO
24 $if prop.defaultValue
25 tr
26 td default
27 td ${prop.defaultValue}
28 $if prop.isRequired
29 tr
30 td required
31 $if prop.iface
32 tr
33 td interface
34 td ${prop.iface}
35 $if prop.apiRef
36 tr
37 td api ref
38 td
39 a ${prop.apiRef}
40 href #${prop.apiRef}
41 $if prop.type === 'object'
42 tr
43 td
44 ./object5( &obj5)
45 $if prop.type === 'array'
46 tr
47 td
48 ./array5( &obj5)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/object5.html.ittf

    
1 $group
2 $params &obj5
3 $
4 var obj6 = {};
5 $if obj5.properties.length > 0
6 table
7 $foreach prop in obj5.properties
8 $
9 obj6 = prop;
10 tr
11 td ${prop.wzName}
12 @ valign top
13 td
14 @ valign top
15 span ${prop.type}
16 $if prop.type === 'object'
17 span {
18 $if prop.type === 'array'
19 span [
20 table
21 $if prop.isPOJO
22 tr
23 td POJO
24 $if prop.defaultValue
25 tr
26 td default
27 td ${prop.defaultValue}
28 $if prop.isRequired
29 tr
30 td required
31 $if prop.iface
32 tr
33 td interface
34 td ${prop.iface}
35 $if prop.apiRef
36 tr
37 td api ref
38 td
39 a ${prop.apiRef}
40 href #${prop.apiRef}
41 $if prop.type === 'object'
42 tr
43 td
44 h1 Sorry too deep in object5
45 $$ ./object6(&obj6)
46 $if prop.type === 'array'
47 tr
48 td
49 h1 Sorry too deep in object5
50 $$ ./array6(&obj6)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/type.html.ittf

    
1 $group
2 $params &api, &type
3 $
4 var obj1 = {};
5 $if type.properties.length > 0
6 table
7 $foreach p in type.properties
8 tr
9 td property
10 @ valign top
11 td ${p.wzName}
12 @ valign top
13 td
14 @ valign top
15 span ${p.type}
16 $if p.type === 'object'
17 span {
18 $if p.type === 'array'
19 span [
20 table
21 $if p.comments.length > 0
22 tr
23 td
24 $foreach c in p.comments
25 span ${c.wzName}
26 br
27 $if p.apiRef
28 tr
29 td api ref
30 @ valign top
31 td
32 @ valign top
33 a ${p.apiRef}
34 href #${p.apiRef}
35 $if p.type === 'object'
36 $
37 obj1 = p;
38 tr
39 td
40 @ valign top
41 ./object1( &obj1)
42 $if p.type === 'array'
43 $
44 obj1 = p;
45 tr
46 td
47 @ valign top
48 ./array1( &obj1)
49 $if type.methods.length > 0
50 table
51 $foreach m in type.methods
52 tr
53 style border-top: 1px solid gray;
54 td method
55 @ valign top
56 td ${api.wzName}.${m.wzName}
57 @ valign top
58 table
59 tr
60 td type
61 td
62 @ valign top
63 @ colspan 3
64 $if m.isAsync
65 span async  
66 span ${m.type}
67 $if m.isInternal
68 tr
69 td internal method
70 $if m.implementedBy
71 tr
72 td implemented by
73 td
74 @ valign top
75 @ colspan 3
76 a ${m.implementedBy}
77 href #${m.implementedBy}
78 $if m.calledBy
79 tr
80 td called by
81 td
82 @ valign top
83 @ colspan 3
84 a ${m.calledBy}
85 href #${m.calledBy}
86 $if m.throwIf
87 tr
88 td throw if
89 td ${m.throwIf}
90 @ valign top
91 @ colspan 3
92 $if m.params.length > 0
93 $foreach p in m.params
94 $
95 obj1 = p;
96 tr
97 td param
98 @ valign top
99 td ${p.wzName}
100 @ valign top
101 td
102 @ valign top
103 span ${p.type}
104 $if p.type === 'object'
105 span {
106 $if p.type === 'array'
107 span [
108 $if p.comments.length > 0
109 tr
110 td
111 $foreach c in p.comments
112 span ${c.wzName}
113 br
114 table
115 $if p.apiRef
116 tr
117 td api ref: 
118 td
119 a ${p.apiRef}
120 href #${p.apiRef}
121 $if p.isPOJO
122 tr
123 td POJO
124 $if p.defaultValue
125 tr
126 td default
127 td ${p.defaultValue}
128 $if p.isRequired
129 tr
130 td required
131 $if p.iface
132 tr
133 td interface
134 td ${p.iface}
135 $if p.type === 'object'
136 tr
137 td
138 ./object1( &obj1)
139 $if p.type === 'array'
140 tr
141 td
142 ./array1( &obj1)
143 $if p.type === 'callback-function'
144 tr
145 td
146 ./cb1( &obj1)
147 $if m.info
148 tr
149 td info
150 @ valign top
151 td
152 @ valign top
153 @ colspan 2
154 table
155 $foreach c in m.info.comments
156 tr
157 td ${c.wzName}
158 @ colspan 2
159 $foreach it in m.info.infoItems
160 tr
161 td ${it.wzTag}
162 td ${it.wzName}
163 $foreach it2 in it.infoItems
164 tr
165 td ${it2.wzTag}
166 style padding-left: 15px;
167 td ${it2.wzName}
168 style padding-left: 15px;
169 $foreach it3 in it2.infoItems
170 tr
171 td ${it3.wzTag}
172 style padding-left: 30px;
173 td ${it3.wzName}
174 style padding-left: 30px;
175 $if it3.infoItems.length > 0
176 h1 Sorry to deep info items
177 $if m.return
178 tr
179 td return
180 @ valign top
181 td
182 @ valign top
183 table
184 $foreach v in m.return.values
185 $
186 obj1 = v;
187 tr
188 td ${v.wzName}
189 @ valign top
190 td ${v.type}
191 @ valign top
192 table
193 $if v.apiRef
194 tr
195 td api ref: 
196 td
197 a ${v.apiRef}
198 href #${v.apiRef}
199 $if v.isPOJO
200 tr
201 td POJO
202 $if v.defaultValue
203 tr
204 td default
205 td ${v.defaultValue}
206 $if v.isRequired
207 tr
208 td required
209 $if v.iface
210 tr
211 td interface
212 td ${v.iface}
213 $if v.type === 'object'
214 tr
215 td
216 ./object1( &obj1)
217 $if v.type === 'array'
218 tr
219 td
220 ./array1( &obj1)
221 $if v.type === 'callback-function'
222 tr
223 td
224 ./cb1( &obj1)

/src/ittf/jobs/ittf__copy/docs/html/_old_api/wf-api.html.ittf

    
1 layout( api )
2 $
3 var type = {};
4 div
5 class main-sidebar-left
6 section
7 id main-toc
8 class toc
9 h3 Contents:
10 ol
11 $foreach api in wfpackage.apis
12 li
13 a ${api.wzName}
14 href #${api.wzName}
15 div
16 class main-content
17 $foreach api in wfpackage.apis
18 h1 ${api.kind} API: ${api.wzName}
19 @ name ${api.wzName}
20 @ id ${api.wzName}
21 table
22 $if api.implementation
23 tr
24 td implementation
25 td ${api.implementation.type}
26 $if api.implementation.path
27 tr
28 td path
29 @ valign top
30 td ${api.implementation.path}
31 @ valign top
32 $if api.implementation.standardPath
33 tr
34 td standard path
35 @ valign top
36 td ${api.implementation.standardPath}
37 @ valign top
38 $if api.interface
39 h3 Interface
40 hr
41 $
42 type = api.interface;
43 type( &api, &type)
44 $else
45 h3 Type
46 hr
47 $
48 type = api.type;
49 type( &api, &type)

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/accordion_item.ittf

    
1 . panel panel-default
2 $params id, label, accordionid|accordion
3 . panel-heading
4 h4
5 class panel-title
6 a ${label}
7 data-toggle collapse
8 data-parent ${accordionid}
9 href #${id}
10 aria-controls ${id}
11 aria-expanded false
12 . panel-collapse collapse // in
13 id ${id}
14 . panel-body
15 $hook

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/accordion.ittf

    
1 . panel-group
2 $params id|accordion
3 id ${id}
4 role tablist
5 aria-multiselectable true

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/breadcrumb.ittf

    
1 ul
2 class breadcrumb list-inline

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/btn-image.ittf

    
1 button
2 $params cssName, title
3 type button
4 id btn${cssName}
5 class btn ${cssName}
6 $if title
7 title ${title}

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/btn-tooltip.ittf

    
1 button ${text}
2 $params text, title, placement|top
3 type button
4 class btn btn-default
5 data-toggle tooltip
6 data-placement ${placement}
7 $if title
8 title ${title}

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/btn.ittf

    
1 button ${label}
2 $params label, kind|default, id|@@null
3 type submit
4 class btn btn-${kind}
5 $if id !== null
6 id ${id}

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/carousel_item_active.ittf

    
1 div
2 $params w|900, h|500, text|@@null
3 class item active
4 img
5 data-src holder.js/${w}x${h}/auto/#555:#5a5a5a/text:${text || ''}
6 alt ${text}
7 . container
8 . carousel-caption
9 $hook

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/carousel_item.ittf

    
1 div
2 $params w|900, h|500, text|@@null
3 class item
4 img
5 data-src holder.js/${w}x${h}/auto/#555:#5a5a5a/text:${text || ''}
6 alt ${text}
7 . container
8 . carousel-caption
9 $hook

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/carousel_to.ittf

    
1 li
2 $params id, to, active|@@null
3 data-target #${id}
4 data-slide-to ${to}
5 $if active
6 class ${active}

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/carousel.ittf

    
1 . carousel slide
2 $params id
3 id ${id}
4 data-ride carousel
5 ol
6 class carousel-indicators
7 $hook indicators
8 . carousel-inner
9 $hook inner
10 a
11 class left carousel-control
12 href #${id}
13 data-slide prev
14 span
15 class glyphicon glyphicon-chevron-left
16 a
17 class right carousel-control
18 href #${id}
19 data-slide next
20 span
21 class glyphicon glyphicon-chevron-right

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/li_a_divider.ittf

    
1 li
2 $params text, href
3 tabindex -1
4 a ${text}
5 href ${href}
6 span
7 class divider

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/li_a_id.ittf

    
1 li
2 $params text, href, id, clazz|list-group-item
3 class ${clazz}
4 tabindex -1
5 a ${text}
6 id ${id}
7 href ${href}

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/li_a.ittf

    
1 li
2 $params text, href, clazz|list-group-item
3 class ${clazz}
4 tabindex -1
5 a ${text}
6 href ${href}

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/li_active.ittf

    
1 li ${text}
2 $params text
3 class list-group-item active

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/list_group.ittf

    
1 ul
2 class list-group

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/list_item.ittf

    
1 li
2 class list-group-item

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/navbar_fixed_top.ittf

    
1 . navbar navbar-default navbar-fixed-top
2 $params brand
3 role navigation
4 . container-fluid
5 . navbar-header
6 a ${brand}
7 class navbar-brand
8 href #

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/navbar_text_logo.ittf

    
1 . navbar-header
2 $params label, href, target
3 style margin-left:50px;
4 button
5 type button
6 class navbar-toggle
7 data-toggle collapse
8 data-target #${target}
9 span Toggle navigation
10 class sr-only
11 span
12 class icon-bar
13 span
14 class icon-bar
15 span
16 class icon-bar
17 a ${label}
18 class navbar-brand
19 href ${href}

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/navbar.ittf

    
1 nav
2 class navbar navbar-inverse navbar-fixed-top $* navbar-default *
3 role navigation
4 . container-fluid
5 $hook

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/pane.ittf

    
1 div
2 $params id, active|@@null
3 class tab-pane ${active}
4 id ${id}

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/panes.ittf

    
1 div
2 class tab-content

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/row_col_form.ittf

    
1 . row
2 $params id, width|8, orient|horizontal, method|@@null, action|@@null
3 . col-md-${width}
4 form
5 id ${id}
6 class form-${orient}
7 role form
8 $if method
9 method ${method}
10 $if action
11 action ${action}
12 $hook

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/tab.ittf

    
1 li
2 $params label, href, active|@@null
3 class ${active}
4 a ${label}
5 href #${href}
6 data-toggle tab

/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/tabs.ittf

    
1 ul
2 class nav nav-tabs

/src/ittf/jobs/ittf__copy/docs/html/schema/t/_style.html.ittf

    
1 @style
2 $.
3 body {
4 font-family: verdana;
5 font-size: 13px;
6 }
7 .main-left {
8 position: fixed;
9 margin-left: 5%;
10 top: 80px;
11 width: 20%;
12 height: 80%;
13 background: #eee;
14 overflow: auto;
15 }
16 .main-center {
17 top: 80px;
18 margin-left: 30%;
19 height: 80%;
20 width: 50%;
21 position: fixed;
22 overflow: auto;
23 z-index: 1;
24 }
25 .well {
26 border: solid 1px #aaa;
27 }
28 .pretty-table { border: 1px solid #333; width: 100%; margin-top: 30px; }
29 .pretty-table th, .pretty-table td { border: 1px dotted #666; }
30 .pretty-table-2 { border: 1px solid #999; width: 100%; margin-top: 20px; }

/src/ittf/jobs/ittf__copy/docs/html/schema/t/attributes.html.ittf

    
1 $group
2 h6 Attributes
3 small
4 table
5 class wfschema-a-table
6 tbody
7 $foreach attribute in element.attributes
8 tr
9 style border-top: 1px solid #ccc;
10 td ${attribute.name}
11 class wfschema-a-name
12 td ${attribute.tags.join('|')}
13 td ${attribute.type}
14 td ${attribute.inheritedFrom}
15 td
16 $if attribute.comments.length > 0
17 . wfschema-comment
18 $foreach comment in attribute.comments
19 div ${comment}  
20 br
21 $if attribute.default
22 span default: ${attribute.default}
23 br
24 $if attribute.flags
25 span flags: ${attribute.flags}
26 $if attribute.restricts.length > 0
27 $foreach restrict in attribute.restricts
28 table
29 $foreach facet in restrict.facets
30 tr
31 td ${facet.type}
32 td ${facet.value}
33 td
34 $foreach comment in facet.comments
35 div ${comment}  

/src/ittf/jobs/ittf__copy/docs/html/schema/t/h2panel.html.ittf

    
1 . panel panel-primary
2 $params title
3 . panel-heading
4 h3 ${title}
5 class panel-title
6 div
7 class panel-body
8 $hook

/src/ittf/jobs/ittf__copy/docs/html/schema/t/methods.html.ittf

    
1 $group
2 h6 Methods
3 small
4 table( 100 )
5 $*
6 thead
7 tr
8 th Signature
9 th Statements
10 *$
11 tbody
12 $foreach method in element.methods
13 tr
14 td
15 div ${method.name}
16 $if method.comments.length > 0
17 . wfschema-comment
18 $foreach comment in method.comments
19 div ${comment}  
20 td
21 pre
22 style color: #ffffde;
23 $foreach stm in method.statements
24 div ${stm.tag} ${stm.value}
25 $foreach stm2 in stm.statements
26 div   ${stm2.tag} ${stm2.value}
27 $foreach stm3 in stm2.statements
28 div   ${stm3.tag} ${stm3.value}
29 $foreach stm4 in stm3.statements
30 div   ${stm4.tag} ${stm4.value}

/src/ittf/jobs/ittf__copy/docs/html/schema/t/relations.html.ittf

    
1 $group
2 h6 Relations
3 small
4 table
5 class wfschema-a-table
6 tbody
7 $foreach relation in element.relations
8 tr
9 td ${relation.name}
10 td ${relation.role}
11 td ${relation.cardinality}
12 td ${relation.inheritedFrom}
13 td
14 $if relation.comments.length > 0
15 . wfschema-comments
16 $foreach comment in relation.comments
17 div ${comment}  
18 br
19 $if relation.flags
20 span ${relation.flags}
21 br

/src/ittf/jobs/ittf__copy/docs/html/schema/t/table.html.ittf

    
1 table
2 $params width
3 class table table-condensed table-bordered
4 style width:${width}%;
5 $hook

/src/ittf/jobs/ittf__copy/docs/html/schema/t/tr_prop.html.ittf

    
1 tr
2 $params name, value, highlight|@@null
3 td
4 span ${name}
5 td
6 $if highlight == null
7 span ${value}
8 $else
9 h4 ${value}

/src/ittf/jobs/ittf__copy/docs/html/schema/wf-schema.html.ittf

    
1 layout( docs, ${wfschema.name} )
2 $append styles
3 css wfschema-styles.css
4 nav_sidebar()
5 section
6 id main-toc
7 class toc
8 h3 Elements
9 ol
10 $foreach element in wfschema.elements
11 li
12 a ${element.name}
13 href #element_${element.name}
14 div
15 class main-content
16 h1 Schema ${wfschema.name}
17 style margin-bottom: 20px;
18 $if wfschema.requires.length > 0
19 h5 Require
20 $foreach require in wfschema.requires
21 div require ${require.name}
22 $if require.declareVar
23 span   declare-var: ${require.declareVar}
24 $if wfschema.exportTos.length > 0
25 $foreach exportTo in wfschema.exportTos
26 div
27 span export to
28 class wfschema-label
29 span ${exportTo}
30 $foreach element in wfschema.elements
31 . wfschema-e-panel
32 id element_${element.name}
33 span element
34 class wfschema-label
35 span ${element.name}
36 class wfschema-e-name
37 $if element.tag
38 span tag
39 class wfschema-label
40 span ${element.tags.join('|')}
41 class wfschema-e-name
42 $if element.super
43 span super
44 class wfschema-label
45 span ${element.super}
46 class wfschema-e-name
47 $if element.flags
48 span flags
49 class wfschema-label
50 span ${element.flags}
51 class wfschema-e-name
52 $if element.isRoot
53 span is-root
54 class wfschema-e-name
55 $elif element.isRoot
56 span flags
57 class wfschema-label
58 span is-root
59 class wfschema-e-name
60 $if element.comments.length > 0
61 . wfschema-comment
62 $foreach comment in element.comments
63 div ${comment}  
64 $if element.attributes.length > 0
65 $include attributes
66 $if element.relations.length > 0
67 $include relations
68 $if element.methods.length > 0
69 $include methods

/src/ittf/jobs/ittf__copy/docs/html/schema/wfschema-docs-new.html.ittf

    
1 html
2 head
3 @title WizziSchema ${schema.name}
4 bs_css()
5 body
6 . jumbotron
7 style text-align: center;
8 h1 WizziSchema ${schema.name}
9 . container
10 . row
11 . col-md-2
12 bs/list_group()
13 $*
14 $foreach element in schema.elements
15 bs/li_a( ${element.name}, #table_${element.name} )
16 *$
17 . col-md-8
18 $if schema.requires.length > 0
19 h5 Require
20 $foreach require in schema.requires
21 div require ${require.name}
22 $if require.declareVar
23 span   declare-var: ${require.declareVar}
24 $if schema.exportTos.length > 0
25 h5 Exports
26 $foreach exportTo in schema.exportTos
27 div ${exportTo.name}
28 $foreach element in schema.elements
29 h2panel( Element ${element.name} )
30 small
31 table( 70 )
32 id element_${element.name}
33 class pretty-table
34 thead
35 tr
36 th Element
37 th Tag
38 th Super
39 th Flags
40 tbody
41 tr
42 td
43 b ${element.name}
44 $if element.tags
45 td ${element.tags.join('|')}
46 td ${element.super}
47 td ${element.flags}
48 $if element.comments.length > 0
49 h5 Description
50 div
51 $foreach comment in element.comments
52 span ${comment}  
53 $if element.attributes.length > 0
54 $include attributes
55 $if element.relations.length > 0
56 $include relations
57 $if element.methods.length > 0
58 $include methods

/src/ittf/jobs/ittf__copy/docs/html/schema/wfschema-docs.html.ittf

    
1 html
2 head
3 @title Wizzi schema ${schema.name}
4 $include _style
5 body
6 . main
7 h1 Wizzi schema ${schema.name}
8 . main-left
9 ul
10 $foreach element in schema.elements
11 li
12 a ${element.name}
13 href #element_${element.name}
14 . main-center
15 $if schema.requires.length > 0
16 h5 Require
17 $foreach require in schema.requires
18 div require ${require.name}
19 $if require.declareVar
20 span   declare-var: ${require.declareVar}
21 $if schema.exportTos.length > 0
22 h5 Exports
23 $foreach exportTo in schema.exportTos
24 div ${exportTo.name}
25 $foreach element in schema.elements
26 table
27 id element_${element.name}
28 class pretty-table
29 thead
30 tr
31 th Element
32 th Tag
33 th Super
34 th Flags
35 tbody
36 tr
37 td
38 b ${element.name}
39 $if element.tags
40 td ${element.tags.join('|')}
41 td ${element.super}
42 td ${element.flags}
43 $if element.comments.length > 0
44 h5 Description
45 div
46 $foreach comment in element.comments
47 span ${comment}  
48 $if element.attributes.length > 0
49 $include attributes
50 $if element.relations.length > 0
51 $include relations
52 $if element.methods.length > 0
53 $include methods

/src/ittf/jobs/ittf__copy/docs/html/stylesheets/css/styles1.css.ittf

    
1 css
2 $include site
3 $include logo
4 $include reset
5 $include a
6 $include icons
7 $include container
8 $include navigation
9 $include navigation-search

/src/ittf/jobs/ittf__copy/docs/html/stylesheets/t/defs.ittf

    
1 $group
2 $
3 var iconDefs = [
4 { name: 'icon-chevron-down', code: 'F101'},
5 { name: 'icon-chevron-left', code: 'F102'},
6 { name: 'icon-chevron-right', code: 'F103'},
7 { name: 'icon-chevron-up', code: 'F104'},
8 { name: 'icon-chevron-cross', code: 'F105'},
9 { name: 'icon-edit', code: 'F106'},
10 { name: 'icon-exit-right', code: 'F107'},
11 { name: 'icon-github', code: 'F108'},
12 { name: 'icon-gitter', code: 'F109'},
13 { name: 'icon-link', code: 'F10A'},
14 { name: 'icon-link', code: 'F10A'},
15 { name: 'icon-magnifying-glass', code: 'F10B'},
16 { name: 'icon-medium', code: 'F10C'},
17 { name: 'icon-menu', code: 'F10D'},
18 { name: 'icon-stack-overflow', code: 'F10E'},
19 { name: 'icon-vertical-bar', code: 'F10F'},
20 ];
21 // http://paletton.com/#uid=33s0u0kllllqQfZo5iFiAo1fQqH
22 var color0 = '#103C51';
23 var color1 = '#1B485E';
24 var color2 = '#27556C';
25 var color3 = '#366379';
26 var color4 = '#477287';
27 var color5 = '#375277';
28 var color10 = '#7F6215';
29 var color11 = '#957625';
30 var color12 = '#AA8B39';
31 var color13 = '#BFA150';
32 var color14 = '#D5B86B';
33 var color20 = '#7F2B15';
34 var color21 = '#953C25';
35 var color22 = '#AA5039';
36 var color23 = '#BF6750';
37 var color24 = '#D5816B';
38 var navLinkUCase = true;
39 var navChildUCase = false;
40 var navLinkFontSize = 14;
41 var navChildFontSize = 15;
42 var logoWord = ['w', 'i', 'z', 'z', 'i', ' ', 'f', 'a', 'c', 't', 'o', 'r', 'y'];
43 var logoClass = ['w', 'i1', 'z1', 'z2', 'i2', 'blank', 'f', 'a', 'c', 't', 'o', 'r', 'y'];

/src/ittf/jobs/ittf__copy/docs/html/stylesheets/style1.html - Copia.ittf

    
1 html
2 head
3 meta
4 charset UTF-8
5 @title Configuration
6 meta
7 name description
8 content webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset.
9 meta
10 name viewport
11 content width=device-width, initial-scale=1
12 meta
13 name theme-color
14 content #2B3A42
15 link
16 rel shortcut icon
17 href /assets/favicon.ico
18 link
19 href https://fonts.googleapis.com/css?family=Source+Code+Pro:400,600|Source+Sans+Pro:200,400,400i,500
20 rel stylesheet
21 link
22 rel stylesheet
23 href https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css
24 link
25 href /e68f1ff8a8d9ac198193.css
26 rel stylesheet
27 js https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js
28 body
29 . site
30 id site
31 . interactive
32 id components/notification-bar/notification-bar.jsx
33 data-props {}
34 . notification-bar
35 . interactive
36 id components/navigation/navigation.jsx
37 data-props {"sections":[{"url":"get-started","pages":[]},{"title":"Concepts","url":"concepts","pages":[{"title":"Entry Points","url":"concepts/entry-points"},{"title":"Output","url":"concepts/output"},{"title":"Loaders","url":"concepts/loaders"},{"title":"Plugins","url":"concepts/plugins"},{"title":"Configuration","url":"concepts/configuration"},{"title":"Modules","url":"concepts/modules"},{"title":"Module Resolution","url":"concepts/module-resolution"},{"title":"Dependency Graph","url":"concepts/dependency-graph"},{"title":"The Manifest","url":"concepts/manifest"},{"title":"Targets","url":"concepts/targets"},{"title":"Hot Module Replacement","url":"concepts/hot-module-replacement"}]},{"title":"Guides","url":"guides","pages":[{"title":"Installation","url":"guides/installation"},{"title":"Getting Started","url":"guides/getting-started"},{"title":"Asset Management","url":"guides/asset-management"},{"title":"Output Management","url":"guides/output-management"},{"title":"Development","url":"guides/development"},{"title":"Hot Module Replacement","url":"guides/hot-module-replacement"},{"title":"Production","url":"guides/production"},{"title":"Tree Shaking","url":"guides/tree-shaking"},{"title":"Code Splitting","url":"guides/code-splitting"},{"title":"Lazy Loading","url":"guides/lazy-loading"},{"title":"Caching","url":"guides/caching"},{"title":"Authoring Libraries","url":"guides/author-libraries"},{"title":"Shimming","url":"guides/shimming"},{"title":"TypeScript","url":"guides/typescript"},{"title":"Migrating from v1 to v2","url":"guides/migrating"},{"title":"Environment Variables","url":"guides/environment-variables"},{"title":"Development - Vagrant","url":"guides/development-vagrant"},{"title":"Dependency Management","url":"guides/dependency-management"},{"title":"Public Path","url":"guides/public-path"},{"title":"Integrations","url":"guides/integrations"}]},{"title":"Starter Kits","url":"guides/starter-kits","pages":[]},{"title":"Development","url":"development","pages":[{"title":"How to write a plugin?","url":"development/how-to-write-a-plugin"},{"title":"Useful Plugin Patterns","url":"development/plugin-patterns"},{"title":"How to write a loader?","url":"development/how-to-write-a-loader"},{"title":"webpack merge, tag and release process","url":"development/release-process"}]},{"title":"Configuration","url":"configuration","pages":[{"title":"Configuration Languages","url":"configuration/configuration-languages"},{"title":"Configuration Types","url":"configuration/configuration-types"},{"title":"Entry and Context","url":"configuration/entry-context"},{"title":"Output","url":"configuration/output"},{"title":"Module","url":"configuration/module"},{"title":"Resolve","url":"configuration/resolve"},{"title":"Plugins","url":"configuration/plugins"},{"title":"DevServer","url":"configuration/dev-server"},{"title":"Devtool","url":"configuration/devtool"},{"title":"Target","url":"configuration/target"},{"title":"Watch and WatchOptions","url":"configuration/watch"},{"title":"Externals","url":"configuration/externals"},{"title":"Node","url":"configuration/node"},{"title":"Performance","url":"configuration/performance"},{"title":"Stats","url":"configuration/stats"},{"title":"Other Options","url":"configuration/other-options"}]},{"title":"API","url":"api","pages":[{"title":"Stats JSON","url":"api/stats"},{"title":"Command Line Interface (CLI)","url":"api/cli"},{"title":"Module API - Methods","url":"api/module-methods"},{"title":"Module API - Variables","url":"api/module-variables"},{"title":"Node.js API","url":"api/node"},{"title":"Loader API","url":"api/loaders"},{"title":"Hot Module Replacement","url":"api/hot-module-replacement"}]},{"title":"API","url":"api/plugins","pages":[{"title":"Tapable","url":"api/plugins/tapable"},{"title":"Compiler","url":"api/plugins/compiler"},{"title":"Compilation","url":"api/plugins/compilation"},{"title":"Context/Normal Module Factories","url":"api/plugins/module-factories"},{"title":"Resolver","url":"api/plugins/resolver"},{"title":"Dependency","url":"api/plugins/dependency"},{"title":"Parser","url":"api/plugins/parser"},{"title":"Templates","url":"api/plugins/template"}]},{"url":"pluginsapi","pages":[]},{"title":"Loaders","url":"loaders","pages":[{"title":"babel-loader","url":"loaders/babel-loader"},{"title":"bundle-loader","url":"loaders/bundle-loader"},{"title":"cache-loader","url":"loaders/cache-loader"},{"title":"coffee-loader","url":"loaders/coffee-loader"},{"title":"coffee-redux-loader","url":"loaders/coffee-redux-loader"},{"title":"coverjs-loader","url":"loaders/coverjs-loader"},{"title":"css-loader","url":"loaders/css-loader"},{"title":"exports-loader","url":"loaders/exports-loader"},{"title":"expose-loader","url":"loaders/expose-loader"},{"title":"extract-loader","url":"loaders/extract-loader"},{"title":"file-loader","url":"loaders/file-loader"},{"title":"gzip-loader","url":"loaders/gzip-loader"},{"title":"html-loader","url":"loaders/html-loader"},{"title":"i18n-loader","url":"loaders/i18n-loader"},{"title":"imports-loader","url":"loaders/imports-loader"},{"title":"istanbul-instrumenter-loader","url":"loaders/istanbul-instrumenter-loader"},{"title":"jshint-loader","url":"loaders/jshint-loader"},{"title":"json-loader","url":"loaders/json-loader"},{"title":"json5-loader","url":"loaders/json5-loader"},{"title":"less-loader","url":"loaders/less-loader"},{"title":"mocha-loader","url":"loaders/mocha-loader"},{"title":"multi-loader","url":"loaders/multi-loader"},{"title":"node-loader","url":"loaders/node-loader"},{"title":"null-loader","url":"loaders/null-loader"},{"title":"polymer-webpack-loader","url":"loaders/polymer-webpack-loader"},{"title":"postcss-loader","url":"loaders/postcss-loader"},{"title":"raw-loader","url":"loaders/raw-loader"},{"title":"react-proxy-loader","url":"loaders/react-proxy-loader"},{"title":"restyle-loader","url":"loaders/restyle-loader"},{"title":"sass-loader","url":"loaders/sass-loader"},{"title":"script-loader","url":"loaders/script-loader"},{"title":"source-map-loader","url":"loaders/source-map-loader"},{"title":"style-loader","url":"loaders/style-loader"},{"title":"svg-inline-loader","url":"loaders/svg-inline-loader"},{"title":"thread-loader","url":"loaders/thread-loader"},{"title":"transform-loader","url":"loaders/transform-loader"},{"title":"url-loader","url":"loaders/url-loader"},{"title":"val-loader","url":"loaders/val-loader"},{"title":"worker-loader","url":"loaders/worker-loader"},{"title":"yaml-frontmatter-loader","url":"loaders/yaml-frontmatter-loader"}]},{"title":"Plugins","url":"plugins","pages":[{"title":"MinChunkSizePlugin","url":"plugins/min-chunk-size-plugin"},{"title":"AggressiveSplittingPlugin","url":"plugins/aggressive-splitting-plugin"},{"title":"BabiliWebpackPlugin","url":"plugins/babili-webpack-plugin"},{"title":"BannerPlugin","url":"plugins/banner-plugin"},{"title":"CommonsChunkPlugin","url":"plugins/commons-chunk-plugin"},{"title":"ComponentWebpackPlugin","url":"plugins/component-webpack-plugin"},{"title":"CompressionWebpackPlugin","url":"plugins/compression-webpack-plugin"},{"title":"ContextReplacementPlugin","url":"plugins/context-replacement-plugin"},{"title":"DefinePlugin","url":"plugins/define-plugin"},{"title":"DllPlugin","url":"plugins/dll-plugin"},{"title":"EnvironmentPlugin","url":"plugins/environment-plugin"},{"title":"ExtractTextWebpackPlugin","url":"plugins/extract-text-webpack-plugin"},{"title":"HashedModuleIdsPlugin","url":"plugins/hashed-module-ids-plugin"},{"title":"HotModuleReplacementPlugin","url":"plugins/hot-module-replacement-plugin"},{"title":"HtmlWebpackPlugin","url":"plugins/html-webpack-plugin"},{"title":"I18nWebpackPlugin","url":"plugins/i18n-webpack-plugin"},{"title":"IgnorePlugin","url":"plugins/ignore-plugin"},{"title":"LimitChunkCountPlugin","url":"plugins/limit-chunk-count-plugin"},{"title":"LoaderOptionsPlugin","url":"plugins/loader-options-plugin"},{"title":"NamedModulesPlugin","url":"plugins/named-modules-plugin"},{"title":"NoEmitOnErrorsPlugin","url":"plugins/no-emit-on-errors-plugin"},{"title":"NormalModuleReplacementPlugin","url":"plugins/normal-module-replacement-plugin"},{"title":"NpmInstallWebpackPlugin","url":"plugins/npm-install-webpack-plugin"},{"title":"PrefetchPlugin","url":"plugins/prefetch-plugin"},{"title":"ProvidePlugin","url":"plugins/provide-plugin"},{"title":"SourceMapDevToolPlugin","url":"plugins/source-map-dev-tool-plugin"},{"title":"UglifyjsWebpackPlugin","url":"plugins/uglifyjs-webpack-plugin"},{"title":"WatchIgnorePlugin","url":"plugins/watch-ignore-plugin"},{"title":"ZopfliWebpackPlugin","url":"plugins/zopfli-webpack-plugin"}]},{"title":"Support","url":"support","pages":[]},{"url":"vote","pages":[]},{"url":"vote/feedback","pages":[]},{"url":"vote/moneyDistribution","pages":[]},{"url":"organization","pages":[]},{"title":"Other","url":"/","pages":[]}],"pageUrl":"configuration/"}
38 header
39 class navigation
40 . interactive
41 id components/sidebar-mobile/sidebar-mobile.jsx
42 data-props {"sections":[{"url":"get-started","pages":[]},{"title":"Concepts","url":"concepts","pages":[{"title":"Entry Points","url":"concepts/entry-points"},{"title":"Output","url":"concepts/output"},{"title":"Loaders","url":"concepts/loaders"},{"title":"Plugins","url":"concepts/plugins"},{"title":"Configuration","url":"concepts/configuration"},{"title":"Modules","url":"concepts/modules"},{"title":"Module Resolution","url":"concepts/module-resolution"},{"title":"Dependency Graph","url":"concepts/dependency-graph"},{"title":"The Manifest","url":"concepts/manifest"},{"title":"Targets","url":"concepts/targets"},{"title":"Hot Module Replacement","url":"concepts/hot-module-replacement"}]},{"title":"Guides","url":"guides","pages":[{"title":"Installation","url":"guides/installation"},{"title":"Getting Started","url":"guides/getting-started"},{"title":"Asset Management","url":"guides/asset-management"},{"title":"Output Management","url":"guides/output-management"},{"title":"Development","url":"guides/development"},{"title":"Hot Module Replacement","url":"guides/hot-module-replacement"},{"title":"Production","url":"guides/production"},{"title":"Tree Shaking","url":"guides/tree-shaking"},{"title":"Code Splitting","url":"guides/code-splitting"},{"title":"Lazy Loading","url":"guides/lazy-loading"},{"title":"Caching","url":"guides/caching"},{"title":"Authoring Libraries","url":"guides/author-libraries"},{"title":"Shimming","url":"guides/shimming"},{"title":"TypeScript","url":"guides/typescript"},{"title":"Migrating from v1 to v2","url":"guides/migrating"},{"title":"Environment Variables","url":"guides/environment-variables"},{"title":"Development - Vagrant","url":"guides/development-vagrant"},{"title":"Dependency Management","url":"guides/dependency-management"},{"title":"Public Path","url":"guides/public-path"},{"title":"Integrations","url":"guides/integrations"}]},{"title":"Starter Kits","url":"guides/starter-kits","pages":[]},{"title":"Development","url":"development","pages":[{"title":"How to write a plugin?","url":"development/how-to-write-a-plugin"},{"title":"Useful Plugin Patterns","url":"development/plugin-patterns"},{"title":"How to write a loader?","url":"development/how-to-write-a-loader"},{"title":"webpack merge, tag and release process","url":"development/release-process"}]},{"title":"Configuration","url":"configuration","pages":[{"title":"Configuration Languages","url":"configuration/configuration-languages"},{"title":"Configuration Types","url":"configuration/configuration-types"},{"title":"Entry and Context","url":"configuration/entry-context"},{"title":"Output","url":"configuration/output"},{"title":"Module","url":"configuration/module"},{"title":"Resolve","url":"configuration/resolve"},{"title":"Plugins","url":"configuration/plugins"},{"title":"DevServer","url":"configuration/dev-server"},{"title":"Devtool","url":"configuration/devtool"},{"title":"Target","url":"configuration/target"},{"title":"Watch and WatchOptions","url":"configuration/watch"},{"title":"Externals","url":"configuration/externals"},{"title":"Node","url":"configuration/node"},{"title":"Performance","url":"configuration/performance"},{"title":"Stats","url":"configuration/stats"},{"title":"Other Options","url":"configuration/other-options"}]},{"title":"API","url":"api","pages":[{"title":"Stats JSON","url":"api/stats"},{"title":"Command Line Interface (CLI)","url":"api/cli"},{"title":"Module API - Methods","url":"api/module-methods"},{"title":"Module API - Variables","url":"api/module-variables"},{"title":"Node.js API","url":"api/node"},{"title":"Loader API","url":"api/loaders"},{"title":"Hot Module Replacement","url":"api/hot-module-replacement"}]},{"title":"API","url":"api/plugins","pages":[{"title":"Tapable","url":"api/plugins/tapable"},{"title":"Compiler","url":"api/plugins/compiler"},{"title":"Compilation","url":"api/plugins/compilation"},{"title":"Context/Normal Module Factories","url":"api/plugins/module-factories"},{"title":"Resolver","url":"api/plugins/resolver"},{"title":"Dependency","url":"api/plugins/dependency"},{"title":"Parser","url":"api/plugins/parser"},{"title":"Templates","url":"api/plugins/template"}]},{"url":"pluginsapi","pages":[]},{"title":"Loaders","url":"loaders","pages":[{"title":"babel-loader","url":"loaders/babel-loader"},{"title":"bundle-loader","url":"loaders/bundle-loader"},{"title":"cache-loader","url":"loaders/cache-loader"},{"title":"coffee-loader","url":"loaders/coffee-loader"},{"title":"coffee-redux-loader","url":"loaders/coffee-redux-loader"},{"title":"coverjs-loader","url":"loaders/coverjs-loader"},{"title":"css-loader","url":"loaders/css-loader"},{"title":"exports-loader","url":"loaders/exports-loader"},{"title":"expose-loader","url":"loaders/expose-loader"},{"title":"extract-loader","url":"loaders/extract-loader"},{"title":"file-loader","url":"loaders/file-loader"},{"title":"gzip-loader","url":"loaders/gzip-loader"},{"title":"html-loader","url":"loaders/html-loader"},{"title":"i18n-loader","url":"loaders/i18n-loader"},{"title":"imports-loader","url":"loaders/imports-loader"},{"title":"istanbul-instrumenter-loader","url":"loaders/istanbul-instrumenter-loader"},{"title":"jshint-loader","url":"loaders/jshint-loader"},{"title":"json-loader","url":"loaders/json-loader"},{"title":"json5-loader","url":"loaders/json5-loader"},{"title":"less-loader","url":"loaders/less-loader"},{"title":"mocha-loader","url":"loaders/mocha-loader"},{"title":"multi-loader","url":"loaders/multi-loader"},{"title":"node-loader","url":"loaders/node-loader"},{"title":"null-loader","url":"loaders/null-loader"},{"title":"polymer-webpack-loader","url":"loaders/polymer-webpack-loader"},{"title":"postcss-loader","url":"loaders/postcss-loader"},{"title":"raw-loader","url":"loaders/raw-loader"},{"title":"react-proxy-loader","url":"loaders/react-proxy-loader"},{"title":"restyle-loader","url":"loaders/restyle-loader"},{"title":"sass-loader","url":"loaders/sass-loader"},{"title":"script-loader","url":"loaders/script-loader"},{"title":"source-map-loader","url":"loaders/source-map-loader"},{"title":"style-loader","url":"loaders/style-loader"},{"title":"svg-inline-loader","url":"loaders/svg-inline-loader"},{"title":"thread-loader","url":"loaders/thread-loader"},{"title":"transform-loader","url":"loaders/transform-loader"},{"title":"url-loader","url":"loaders/url-loader"},{"title":"val-loader","url":"loaders/val-loader"},{"title":"worker-loader","url":"loaders/worker-loader"},{"title":"yaml-frontmatter-loader","url":"loaders/yaml-frontmatter-loader"}]},{"title":"Plugins","url":"plugins","pages":[{"title":"MinChunkSizePlugin","url":"plugins/min-chunk-size-plugin"},{"title":"AggressiveSplittingPlugin","url":"plugins/aggressive-splitting-plugin"},{"title":"BabiliWebpackPlugin","url":"plugins/babili-webpack-plugin"},{"title":"BannerPlugin","url":"plugins/banner-plugin"},{"title":"CommonsChunkPlugin","url":"plugins/commons-chunk-plugin"},{"title":"ComponentWebpackPlugin","url":"plugins/component-webpack-plugin"},{"title":"CompressionWebpackPlugin","url":"plugins/compression-webpack-plugin"},{"title":"ContextReplacementPlugin","url":"plugins/context-replacement-plugin"},{"title":"DefinePlugin","url":"plugins/define-plugin"},{"title":"DllPlugin","url":"plugins/dll-plugin"},{"title":"EnvironmentPlugin","url":"plugins/environment-plugin"},{"title":"ExtractTextWebpackPlugin","url":"plugins/extract-text-webpack-plugin"},{"title":"HashedModuleIdsPlugin","url":"plugins/hashed-module-ids-plugin"},{"title":"HotModuleReplacementPlugin","url":"plugins/hot-module-replacement-plugin"},{"title":"HtmlWebpackPlugin","url":"plugins/html-webpack-plugin"},{"title":"I18nWebpackPlugin","url":"plugins/i18n-webpack-plugin"},{"title":"IgnorePlugin","url":"plugins/ignore-plugin"},{"title":"LimitChunkCountPlugin","url":"plugins/limit-chunk-count-plugin"},{"title":"LoaderOptionsPlugin","url":"plugins/loader-options-plugin"},{"title":"NamedModulesPlugin","url":"plugins/named-modules-plugin"},{"title":"NoEmitOnErrorsPlugin","url":"plugins/no-emit-on-errors-plugin"},{"title":"NormalModuleReplacementPlugin","url":"plugins/normal-module-replacement-plugin"},{"title":"NpmInstallWebpackPlugin","url":"plugins/npm-install-webpack-plugin"},{"title":"PrefetchPlugin","url":"plugins/prefetch-plugin"},{"title":"ProvidePlugin","url":"plugins/provide-plugin"},{"title":"SourceMapDevToolPlugin","url":"plugins/source-map-dev-tool-plugin"},{"title":"UglifyjsWebpackPlugin","url":"plugins/uglifyjs-webpack-plugin"},{"title":"WatchIgnorePlugin","url":"plugins/watch-ignore-plugin"},{"title":"ZopfliWebpackPlugin","url":"plugins/zopfli-webpack-plugin"}]},{"title":"Support","url":"support","pages":[]},{"url":"vote","pages":[]},{"url":"vote/feedback","pages":[]},{"url":"vote/moneyDistribution","pages":[]},{"url":"organization","pages":[]},{"title":"Other","url":"/","pages":[]}]}
43 nav
44 class sidebar-mobile
45 . container page
46 a
47 href https://www.ag-grid.com/?utm_source=webpack&utm_medium=banner&utm_campaign=sponsorship
48 target _blank
49 class sponsors
50 img
51 src /bf176a25b4f8227fea804854c98dc5e2.png
52 img
53 src /6bc5d8cf78d442a984e70195db059b69.svg
54 style width:100px;
55 div ag-grid is proud to partner with webpack
56 style margin-top:1em;font-size:2em;text-align:center;color:#535353;
57 . interactive
58 id components/sidebar/sidebar.jsx
59 data-props {"sectionName":"configuration","pages":[{"url":"configuration/configuration-languages","title":"Configuration Languages","anchors":[{"title":"TypeScript","id":"typescript"},{"title":"CoffeeScript","id":"coffeescript"},{"title":"Babel and JSX","id":"babel-and-jsx"}]},{"url":"configuration/configuration-types","title":"Configuration Types","anchors":[{"title":"Exporting a Function","id":"exporting-a-function"},{"title":"Exporting a Promise","id":"exporting-a-promise"},{"title":"Exporting multiple configurations","id":"exporting-multiple-configurations"}]},{"url"quot;:"configuration/entry-context","title":"Entry and Context","anchors":[{"title":"context","id":"context"},{"title":"entry","id":"entry"},{"title":"Naming","id":"naming"},{"title":"Dynamic entry","id":"dynamic-entry"}]},{"url":"configuration/output","title":"Output","anchors":[{"title":"output.auxiliaryComment","id":"output-auxiliarycomment"},{"title":"output.chunkFilename","id":"output-chunkfilename"},{"title":"output.chunkLoadTimeout","id":"output-chunkloadtimeout"},{"title":"output.crossOriginLoading","id":"output-crossoriginloading"},{"title":"output.devtoolFallbackModuleFilenameTemplate","id":"output-devtoolfallbackmodulefilenametemplate"},{"title":"output.devtoolLineToLine","id":"output-devtoollinetoline"},{"title":"output.devtoolModuleFilenameTemplate","id":"output-devtoolmodulefilenametemplate"},{"title":"output.filename","id":"output-filename"},{"title":"output.hashDigest","id":"output-hashdigest"},{"title":"output.hashDigestLength","id":"output-hashdigestlength"},{"title":"output.hashFunction","id":"output-hashfunction"},{"title":"output.hashSalt","id":"output-hashsalt"},{"title":"output.hotUpdateChunkFilename","id":"output-hotupdatechunkfilename"},{"title":"output.hotUpdateFunction","id":"output-hotupdatefunction"},{"title":"output.hotUpdateMainFilename","id":"output-hotupdatemainfilename"},{"title":"output.jsonpFunction","id":"output-jsonpfunction"},{"title":"output.library","id":"output-library"},{"title":"output.libraryExport","id":"output-libraryexport"},{"title":"output.libraryTarget","id":"output-librarytarget"},{"title":"output.path","id":"output-path"},{"title":"output.pathinfo","id":"output-pathinfo"},{"title":"output.publicPath","id":"output-publicpath"},{"title":"output.sourceMapFilename","id":"output-sourcemapfilename"},{"title":"output.sourcePrefix","id":"output-sourceprefix"},{"title":"output.strictModuleExceptionHandling","id":"output-strictmoduleexceptionhandling"},{"title":"output.umdNamedDefine","id":"output-umdnameddefine"}]},{"url":"configuration/module","title":"Module","anchors":[{"title":"module.noParse","id":"module-noparse"},{"title":"module.rules","id":"module-rules"},{"title":"Rule","id":"rule"},{"title":"Rule Conditions","id":"rule-conditions"},{"title":"Rule results","id":"rule-results"},{"title":"Nested rules","id":"nested-rules"},{"title":"Rule.enforce","id":"rule-enforce"},{"title":"Rule.exclude","id":"rule-exclude"},{"title":"Rule.include","id":"rule-include"},{"title":"Rule.issuer","id":"rule-issuer"},{"title":"Rule.loader","id":"rule-loader"},{"title":"Rule.loaders","id":"rule-loaders"},{"title":"Rule.oneOf","id":"rule-oneof"},{"title":"Rule.options / Rule.query","id":"rule-options-rule-query"},{"title":"Rule.parser","id":"rule-parser"},{"title":"Rule.resource","id":"rule-resource"},{"title":"Rule.resourceQuery","id":"rule-resourcequery"},{"title":"Rule.rules","id":"rule-rules"},{"title":"Rule.test","id":"rule-test"},{"title":"Rule.use","id":"rule-use"},{"title":"Condition","id":"condition"},{"title":"UseEntry","id":"useentry"},{"title":"Module Contexts","id":"module-contexts"}]},{"url":"configuration/resolve","title":"Resolve","anchors":[{"title":"resolve","id":"resolve"},{"title":"resolve.alias","id":"resolve-alias"},{"title":"resolve.aliasFields","id":"resolve-aliasfields"},{"title":"resolve.cacheWithContext","id":"resolve-cachewithcontext"},{"title":"resolve.descriptionFiles","id":"resolve-descriptionfiles"},{"title":"resolve.enforceExtension","id":"resolve-enforceextension"},{"title":"resolve.enforceModuleExtension","id":"resolve-enforcemoduleextension"},{"title":"resolve.extensions","id":"resolve-extensions"},{"title":"resolve.mainFields","id":"resolve-mainfields"},{"title":"resolve.mainFiles","id":"resolve-mainfiles"},{"title":"resolve.modules","id":"resolve-modules"},{"title":"resolve.unsafeCache","id":"resolve-unsafecache"},{"title":"resolve.plugins","id":"resolve-plugins"},{"title":"resolve.symlinks","id":"resolve-symlinks"},{"title":"resolve.cachePredicate","id":"resolve-cachepredicate"},{"title":"resolveLoader","id":"resolveloader"},{"title":"resolveLoader.moduleExtensions","id":"resolveloader-moduleextensions"}]},{"url":"configuration/plugins","title":"Plugins","anchors":[{"title":"plugins","id":"plugins"}]},{"url":"configuration/dev-server","title":"DevServer","anchors":[{"title":"devServer","id":"devserver"},{"title":"devServer.allowedHosts","id":"devserver-allowedhosts"},{"title":"devServer.bonjour","id":"devserver-bonjour"},{"title":"devServer.clientLogLevel","id":"devserver-clientloglevel"},{"title":"devServer.color - CLI only","id":"devserver-color-cli-only"},{"title":"devServer.compress","id":"devserver-compress"},{"title":"devServer.contentBase","id":"devserver-contentbase"},{"title":"devServer.disableHostCheck","id":"devserver-disablehostcheck"},{"title":"devServer.filename 🔑","id":"devserver-filename-"},{"title":"devServer.headers 🔑","id":"devserver-headers-"},{"title":"devServer.historyApiFallback","id":"devserver-historyapifallback"},{"title":"devServer.host","id":"devserver-host"},{"title":"devServer.hot","id":"devserver-hot"},{"title":"devServer.hotOnly","id":"devserver-hotonly"},{"title":"devServer.https","id":"devserver-https"},{"title":"devServer.info - CLI only","id":"devserver-info-cli-only"},{"title":"devServer.inline","id":"devserver-inline"},{"title":"devServer.lazy 🔑","id":"devserver-lazy-"},{"title":"devServer.noInfo 🔑","id":"devserver-noinfo-"},{"title":"devServer.open","id":"devserver-open"},{"title":"devServer.openPage","id":"devserver-openpage"},{"title":"devServer.overlay","id":"devserver-overlay"},{"title":"devServer.pfx","id":"devserver-pfx"},{"title":"devServer.pfxPassphrase","id":"devserver-pfxpassphrase"},{"title":"devServer.port","id":"devserver-port"},{"title":"devServer.proxy","id":"devserver-proxy"},{"title":"devServer.progress - CLI only","id":"devserver-progress-cli-only"},{"title":"devServer.public","id":"devserver-public"},{"title":"devServer.publicPath 🔑","id":"devserver-publicpath-"},{"title":"devServer.quiet 🔑","id":"devserver-quiet-"},{"title":"devServer.setup","id":"devserver-setup"},{"title":"devServer.socket","id":"devserver-socket"},{"title":"devServer.staticOptions","id":"devserver-staticoptions"},{"title":"devServer.stats 🔑","id":"devserver-stats-"},{"title":"devServer.stdin - CLI only","id":"devserver-stdin-cli-only"},{"title":"devServer.useLocalIp","id":"devserver-uselocalip"},{"title":"devServer.watchContentBase","id":"devserver-watchcontentbase"},{"title":"devServer.watchOptions 🔑","id":"devserver-watchoptions-"}]},{"url":"configuration/devtool","title":"Devtool","anchors":[{"title":"devtool","id":"devtool"},{"title":"Development","id":"development"},{"title":"Production","id":"production"}]},{"url":"configuration/target","title":"Target","anchors":[{"title":"target","id":"target"},{"title":"string","id":"string"},{"title":"function","id":"function"}]},{"url":"configuration/watch","title":"Watch and WatchOptions","anchors":[{"title":"watch","id":"watch"},{"title":"watchOptions","id":"watchoptions"},{"title":"watchOptions.aggregateTimeout","id":"watchoptions-aggregatetimeout"},{"title":"watchOptions.ignored","id":"watchoptions-ignored"},{"title":"watchOptions.poll","id":"watchoptions-poll"}]},{"url":"configuration/externals","title":"Externals","anchors":[{"title":"externals","id":"externals"},{"title":"string","id":"string"},{"title":"array","id":"array"},{"title":"object","id":"object"},{"title":"function","id":"function"},{"title":"regex","id":"regex"}]},{"url":"configuration/node","title":"Node","anchors":[{"title":"node","id":"node"},{"title":"node.console","id":"node-console"},{"title":"node.process","id":"node-process"},{"title":"node.global","id":"node-global"},{"title":"node.__filename","id":"node-__filename"},{"title":"node.__dirname","id":"node-__dirname"},{"title":"node.Buffer","id":"node-buffer"},{"title":"node.setImmediate","id":"node-setimmediate"},{"title":"Other node core libraries","id":"other-node-core-libraries"}]},{"url":"configuration/performance","title":"Performance","anchors":[{"title":"performance","id":"performance"},{"title":"performance.hints","id":"performance-hints"},{"title":"performance.maxEntrypointSize","id":"performance-maxentrypointsize"},{"title":"performance.maxAssetSize","id":"performance-maxassetsize"},{"title":"performance.assetFilter","id":"performance-assetfilter"}]},{"url":"configuration/stats","title":"Stats","anchors":[{"title":"stats","id":"stats"}]},{"url":"configuration/other-options","title":"Other Options","anchors":[{"title":"amd","id":"amd"},{"title":"bail","id":"bail"},{"title":"cache","id":"cache"},{"title":"loader","id":"loader"},{"title":"profile","id":"profile"},{"title":"recordsPath","id":"recordspath"},{"title":"recordsInputPath","id":"recordsinputpath"},{"title":"recordsOutputPath","id":"recordsoutputpath"}]}],"currentPage":"configuration/"}
60 nav
61 class sidebar
62 section
63 class page__content
64 h1 Configuration
65 . page-links
66 a Edit Document
67 class page-links__link
68 href https://github.com/webpack/webpack.js.org/edit/master/content/configuration/index.md
69 i
70 class page-links__icon icon-edit
71 div
72 p webpack is fed via a configuration object. It is passed in one of two ways depending on how you are using webpack: through the terminal or via Node.js. All the available configuration options are specified below.
73 blockquote
74 class tip
75 div New to webpack? Check out our guide to some of webpack's
76 class tip-content
77 a core concepts
78 href /concepts
79 + to get started!
80 blockquote
81 class tip
82 div Notice that throughout the configuration we use Node's built-in
83 class tip-content
84 a path module
85 href https://nodejs.org/api/path.html
86 + and prefix it with the
87 a __dirname
88 href https://nodejs.org/docs/latest/api/globals.html#globals_dirname
89 + global. This prevents file path issues between operating systems and allows relative paths to work as expected. See
90 a this section
91 href https://nodejs.org/api/path.html#path_windows_vs_posix
92 + for more info on POSIX vs. Windows paths.
93 h2
94 class header
95 a
96 class anchor
97 href #options
98 id options
99 span Options
100 class text
101 a
102 class icon-link
103 href #options
104 p Click on the name of each option in the configuration code below to jump to the detailed documentation. Also note that the items with arrows can be expanded to show more examples and, in some cases, more advanced configuration.
105 pre
106 code
107 class lang-js
108 span const
109 class token keyword
110 + path
111 span =
112 class token operator
113 span require
114 class token function
115 span (
116 class token punctuation
117 span 'path'
118 class token string
119 span )
120 class token punctuation
121 span ;
122 class token punctuation
123 + module
124 span .
125 class token punctuation
126 + exports
127 span =
128 class token operator
129 span {
130 class token punctuation
131 details
132 summary
133 span
134 class code-details-summary-span
135 a entry
136 class code-link
137 href /configuration/entry-context#entry
138 span :
139 class token punctuation
140 span "./app/entry"
141 class token string
142 span ,
143 class token punctuation
144 span // string | object | array
145 class token comment
146 spellcheck true
147 a entry
148 class code-link
149 href /configuration/entry-context#entry
150 span :
151 class token punctuation
152 span [
153 class token punctuation
154 span "./app/entry1"
155 class token string
156 span ,
157 class token punctuation
158 span "./app/entry2"
159 class token string
160 span ]
161 class token punctuation
162 span ,
163 class token punctuation
164 a entry
165 class code-link
166 href /configuration/entry-context#entry
167 span :
168 class token punctuation
169 span {
170 class token punctuation
171 + a
172 span :
173 class token punctuation
174 span "./app/entry-a"
175 class token string
176 span ,
177 class token punctuation
178 + b
179 span :
180 class token punctuation
181 span [
182 class token punctuation
183 span "./app/entry-b1"
184 class token string
185 span ,
186 class token punctuation
187 span "./app/entry-b2"
188 class token string
189 span ]
190 class token punctuation
191 span }
192 class token punctuation
193 span ,
194 class token punctuation
195 span // Here the application starts executing
196 class token comment
197 spellcheck true
198 span // and webpack starts bundling
199 class token comment
200 spellcheck true
201 a output
202 class code-link
203 href /configuration/output
204 span :
205 class token punctuation
206 span {
207 class token punctuation
208 span // options related to how webpack emits results
209 class token comment
210 spellcheck true
211 a path
212 class code-link
213 href /configuration/output#output-path
214 span :
215 class token punctuation
216 + path
217 span .
218 class token punctuation
219 span resolve
220 class token function
221 span (
222 class token punctuation
223 + __dirname
224 span ,
225 class token punctuation
226 span "dist"
227 class token string
228 span )
229 class token punctuation
230 span ,
231 class token punctuation
232 span // string
233 class token comment
234 spellcheck true
235 span // the target directory for all output files
236 class token comment
237 spellcheck true
238 span // must be an absolute path (use the Node.js path module)
239 class token comment
240 spellcheck true
241 details
242 summary
243 span
244 class code-details-summary-span
245 a filename
246 class code-link
247 href /configuration/output#output-filename
248 span :
249 class token punctuation
250 span "bundle.js"
251 class token string
252 span ,
253 class token punctuation
254 span // string
255 class token comment
256 spellcheck true
257 a filename
258 class code-link
259 href /configuration/output#output-filename
260 span :
261 class token punctuation
262 span "[name].js"
263 class token string
264 span ,
265 class token punctuation
266 span // for multiple entry points
267 class token comment
268 spellcheck true
269 a filename
270 class code-link
271 href /configuration/output#output-filename
272 span :
273 class token punctuation
274 span "[chunkhash].js"
275 class token string
276 span ,
277 class token punctuation
278 span // for
279 class token comment
280 spellcheck true
281 a long term caching
282 class code-link
283 href /guides/caching
284 span // the filename template for entry chunks
285 class token comment
286 spellcheck true
287 details
288 summary
289 span
290 class code-details-summary-span
291 a publicPath
292 class code-link
293 href /configuration/output#output-publicpath
294 span :
295 class token punctuation
296 span "/assets/"
297 class token string
298 span ,
299 class token punctuation
300 span // string
301 class token comment
302 spellcheck true
303 a publicPath
304 class code-link
305 href /configuration/output#output-publicpath
306 span :
307 class token punctuation
308 span ""
309 class token string
310 span ,
311 class token punctuation
312 a publicPath
313 class code-link
314 href /configuration/output#output-publicpath
315 span :
316 class token punctuation
317 span "https://cdn.example.com/"
318 class token string
319 span ,
320 class token punctuation
321 span // the url to the output directory resolved relative to the HTML page
322 class token comment
323 spellcheck true
324 a library
325 class code-link
326 href /configuration/output#output-library
327 span :
328 class token punctuation
329 span "MyLibrary"
330 class token string
331 span ,
332 class token punctuation
333 span // string,
334 class token comment
335 spellcheck true
336 span // the name of the exported library
337 class token comment
338 spellcheck true
339 details
340 summary
341 span
342 class code-details-summary-span
343 a libraryTarget
344 class code-link
345 href /configuration/output#output-librarytarget
346 span :
347 class token punctuation
348 span "umd"
349 class token string
350 span ,
351 class token punctuation
352 span // universal module definition
353 class token comment
354 spellcheck true
355 a libraryTarget
356 class code-link
357 href /configuration/output#output-librarytarget
358 span :
359 class token punctuation
360 span "umd2"
361 class token string
362 span ,
363 class token punctuation
364 span // universal module definition
365 class token comment
366 spellcheck true
367 a libraryTarget
368 class code-link
369 href /configuration/output#output-librarytarget
370 span :
371 class token punctuation
372 span "commonjs2"
373 class token string
374 span ,
375 class token punctuation
376 span // exported with module.exports
377 class token comment
378 spellcheck true
379 a libraryTarget
380 class code-link
381 href /configuration/output#output-librarytarget
382 span :
383 class token punctuation
384 span "commonjs"
385 class token string
386 span ,
387 class token punctuation
388 span // exported as properties to exports
389 class token comment
390 spellcheck true
391 a libraryTarget
392 class code-link
393 href /configuration/output#output-librarytarget
394 span :
395 class token punctuation
396 span "amd"
397 class token string
398 span ,
399 class token punctuation
400 span // defined with AMD defined method
401 class token comment
402 spellcheck true
403 a libraryTarget
404 class code-link
405 href /configuration/output#output-librarytarget
406 span :
407 class token punctuation
408 span "this"
409 class token string
410 span ,
411 class token punctuation
412 span // property set on this
413 class token comment
414 spellcheck true
415 a libraryTarget
416 class code-link
417 href /configuration/output#output-librarytarget
418 span :
419 class token punctuation
420 span "var"
421 class token string
422 span ,
423 class token punctuation
424 span // variable defined in root scope
425 class token comment
426 spellcheck true
427 a libraryTarget
428 class code-link
429 href /configuration/output#output-librarytarget
430 span :
431 class token punctuation
432 span "assign"
433 class token string
434 span ,
435 class token punctuation
436 span // blind assignment
437 class token comment
438 spellcheck true
439 a libraryTarget
440 class code-link
441 href /configuration/output#output-librarytarget
442 span :
443 class token punctuation
444 span "window"
445 class token string
446 span ,
447 class token punctuation
448 span // property set to window object
449 class token comment
450 spellcheck true
451 a libraryTarget
452 class code-link
453 href /configuration/output#output-librarytarget
454 span :
455 class token punctuation
456 span "global"
457 class token string
458 span ,
459 class token punctuation
460 span // property set to global object
461 class token comment
462 spellcheck true
463 a libraryTarget
464 class code-link
465 href /configuration/output#output-librarytarget
466 span :
467 class token punctuation
468 span "jsonp"
469 class token string
470 span ,
471 class token punctuation
472 span // jsonp wrapper
473 class token comment
474 spellcheck true
475 span // the type of the exported library
476 class token comment
477 spellcheck true
478 details
479 summary
480 span
481 class code-details-summary-span
482 span /* Advanced output configuration (click to show) */
483 class token comment
484 spellcheck true
485 a pathinfo
486 class code-link
487 href /configuration/output#output-pathinfo
488 span :
489 class token punctuation
490 span true
491 class token boolean
492 span ,
493 class token punctuation
494 span // boolean
495 class token comment
496 spellcheck true
497 span // include useful path info about modules, exports, requests, etc. into the generated code
498 class token comment
499 spellcheck true
500 a chunkFilename
501 class code-link
502 href /configuration/output#output-chunkfilename
503 span :
504 class token punctuation
505 span "[id].js"
506 class token string
507 span ,
508 class token punctuation
509 a chunkFilename
510 class code-link
511 href /configuration/output#output-chunkfilename
512 span :
513 class token punctuation
514 span "[chunkhash].js"
515 class token string
516 span ,
517 class token punctuation
518 span // for
519 class token comment
520 spellcheck true
521 a long term caching
522 class code-link
523 href /guides/caching
524 span // the filename template for additional chunks
525 class token comment
526 spellcheck true
527 a jsonpFunction
528 class code-link
529 href /configuration/output#output-jsonpfunction
530 span :
531 class token punctuation
532 span "myWebpackJsonp"
533 class token string
534 span ,
535 class token punctuation
536 span // string
537 class token comment
538 spellcheck true
539 span // name of the JSONP function used to load chunks
540 class token comment
541 spellcheck true
542 a sourceMapFilename
543 class code-link
544 href /configuration/output#output-sourcemapfilename
545 span :
546 class token punctuation
547 span "[file].map"
548 class token string
549 span ,
550 class token punctuation
551 span // string
552 class token comment
553 spellcheck true
554 a sourceMapFilename
555 class code-link
556 href /configuration/output#output-sourcemapfilename
557 span :
558 class token punctuation
559 span "sourcemaps/[file].map"
560 class token string
561 span ,
562 class token punctuation
563 span // string
564 class token comment
565 spellcheck true
566 span // the filename template of the source map location
567 class token comment
568 spellcheck true
569 a devtoolModuleFilenameTemplate
570 class code-link
571 href /configuration/output#output-devtoolmodulefilenametemplate
572 span :
573 class token punctuation
574 + "webpack
575 span :
576 class token punctuation
577 span /
578 class token operator
579 span //[resource-path]", // string
580 class token comment
581 spellcheck true
582 span // the name template for modules in a devtool
583 class token comment
584 spellcheck true
585 a devtoolFallbackModuleFilenameTemplate
586 class code-link
587 href /configuration/output#output-devtoolfallbackmodulefilenametemplate
588 span :
589 class token punctuation
590 + "webpack
591 span :
592 class token punctuation
593 span /
594 class token operator
595 span //[resource-path]?[hash]", // string
596 class token comment
597 spellcheck true
598 span // the name template for modules in a devtool (used for conflicts)
599 class token comment
600 spellcheck true
601 a umdNamedDefine
602 class code-link
603 href /configuration/output#output-umdnameddefine
604 span :
605 class token punctuation
606 span true
607 class token boolean
608 span ,
609 class token punctuation
610 span // boolean
611 class token comment
612 spellcheck true
613 span // use a named AMD module in UMD library
614 class token comment
615 spellcheck true
616 a crossOriginLoading
617 class code-link
618 href /configuration/output#output-crossoriginloading
619 span :
620 class token punctuation
621 span "use-credentials"
622 class token string
623 span ,
624 class token punctuation
625 span // enum
626 class token comment
627 spellcheck true
628 a crossOriginLoading
629 class code-link
630 href /configuration/output#output-crossoriginloading
631 span :
632 class token punctuation
633 span "anonymous"
634 class token string
635 span ,
636 class token punctuation
637 a crossOriginLoading
638 class code-link
639 href /configuration/output#output-crossoriginloading
640 span :
641 class token punctuation
642 span false
643 class token boolean
644 span ,
645 class token punctuation
646 span // specifies how cross origin request are issued by the runtime
647 class token comment
648 spellcheck true
649 details
650 summary
651 span
652 class code-details-summary-span
653 span /* Expert output configuration (on own risk) */
654 class token comment
655 spellcheck true
656 a devtoolLineToLine
657 class code-link
658 href /configuration/output#output-devtoollinetoline
659 span :
660 class token punctuation
661 span {
662 class token punctuation
663 + test
664 span :
665 class token punctuation
666 span /\.jsx$/
667 class token regex
668 span }
669 class token punctuation
670 span ,
671 class token punctuation
672 span // use a simple 1:1 mapped SourceMaps for these modules (faster)
673 class token comment
674 spellcheck true
675 a hotUpdateMainFilename
676 class code-link
677 href /configuration/output#output-hotupdatemainfilename
678 span :
679 class token punctuation
680 span "[hash].hot-update.json"
681 class token string
682 span ,
683 class token punctuation
684 span // string
685 class token comment
686 spellcheck true
687 span // filename template for HMR manifest
688 class token comment
689 spellcheck true
690 a hotUpdateChunkFilename
691 class code-link
692 href /configuration/output#output-hotupdatechunkfilename
693 span :
694 class token punctuation
695 span "[id].[hash].hot-update.js"
696 class token string
697 span ,
698 class token punctuation
699 span // string
700 class token comment
701 spellcheck true
702 span // filename template for HMR chunks
703 class token comment
704 spellcheck true
705 a sourcePrefix
706 class code-link
707 href /configuration/output#output-sourceprefix
708 span :
709 class token punctuation
710 span "\t"
711 class token string
712 span ,
713 class token punctuation
714 span // string
715 class token comment
716 spellcheck true
717 span // prefix module sources in bundle for better readablitity
718 class token comment
719 spellcheck true
720 span }
721 class token punctuation
722 span ,
723 class token punctuation
724 a module
725 class code-link
726 href /configuration/module
727 span :
728 class token punctuation
729 span {
730 class token punctuation
731 span // configuration regarding modules
732 class token comment
733 spellcheck true
734 a rules
735 class code-link
736 href /configuration/module#module-rules
737 span :
738 class token punctuation
739 span [
740 class token punctuation
741 span // rules for modules (configure loaders, parser options, etc.)
742 class token comment
743 spellcheck true
744 span {
745 class token punctuation
746 a test
747 class code-link
748 href /configuration/module#rule-test
749 span :
750 class token punctuation
751 span /\.jsx?$/
752 class token regex
753 span ,
754 class token punctuation
755 a include
756 class code-link
757 href /configuration/module#rule-include
758 span :
759 class token punctuation
760 span [
761 class token punctuation
762 + path
763 span .
764 class token punctuation
765 span resolve
766 class token function
767 span (
768 class token punctuation
769 + __dirname
770 span ,
771 class token punctuation
772 span "app"
773 class token string
774 span )
775 class token punctuation
776 span ]
777 class token punctuation
778 span ,
779 class token punctuation
780 a exclude
781 class code-link
782 href /configuration/module#rule-exclude
783 span :
784 class token punctuation
785 span [
786 class token punctuation
787 + path
788 span .
789 class token punctuation
790 span resolve
791 class token function
792 span (
793 class token punctuation
794 + __dirname
795 span ,
796 class token punctuation
797 span "app/demo-files"
798 class token string
799 span )
800 class token punctuation
801 span ]
802 class token punctuation
803 span ,
804 class token punctuation
805 span // these are matching conditions, each accepting a regular expression or string
806 class token comment
807 spellcheck true
808 span // test and include have the same behavior, both must be matched
809 class token comment
810 spellcheck true
811 span // exclude must not be matched (takes preferrence over test and include)
812 class token comment
813 spellcheck true
814 span // Best practices:
815 class token comment
816 spellcheck true
817 span // - Use RegExp only in test and for filename matching
818 class token comment
819 spellcheck true
820 span // - Use arrays of absolute paths in include and exclude
821 class token comment
822 spellcheck true
823 span // - Try to avoid exclude and prefer include
824 class token comment
825 spellcheck true
826 a issuer
827 class code-link
828 href /configuration/module#rule-issuer
829 span :
830 class token punctuation
831 span {
832 class token punctuation
833 + test
834 span ,
835 class token punctuation
836 + include
837 span ,
838 class token punctuation
839 + exclude
840 span }
841 class token punctuation
842 span ,
843 class token punctuation
844 span // conditions for the issuer (the origin of the import)
845 class token comment
846 spellcheck true
847 a enforce
848 class code-link
849 href /configuration/module#rule-enforce
850 span :
851 class token punctuation
852 span "pre"
853 class token string
854 span ,
855 class token punctuation
856 a enforce
857 class code-link
858 href /configuration/module#rule-enforce
859 span :
860 class token punctuation
861 span "post"
862 class token string
863 span ,
864 class token punctuation
865 span // flags to apply these rules, even if they are overridden (advanced option)
866 class token comment
867 spellcheck true
868 a loader
869 class code-link
870 href /configuration/module#rule-loader
871 span :
872 class token punctuation
873 span "babel-loader"
874 class token string
875 span ,
876 class token punctuation
877 span // the loader which should be applied, it'll be resolved relative to the context
878 class token comment
879 spellcheck true
880 span // -loader suffix is no longer optional in webpack2 for clarity reasons
881 class token comment
882 spellcheck true
883 span // see
884 class token comment
885 spellcheck true
886 a webpack 1 upgrade guide
887 class code-link
888 href /guides/migrating
889 a options
890 class code-link
891 href /configuration/module#rule-options-rule-query
892 span :
893 class token punctuation
894 span {
895 class token punctuation
896 + presets
897 span :
898 class token punctuation
899 span [
900 class token punctuation
901 span "es2015"
902 class token string
903 span ]
904 class token punctuation
905 span }
906 class token punctuation
907 span ,
908 class token punctuation
909 span // options for the loader
910 class token comment
911 spellcheck true
912 span }
913 class token punctuation
914 span ,
915 class token punctuation
916 span {
917 class token punctuation
918 a test
919 class code-link
920 href /configuration/module#rule-test
921 span :
922 class token punctuation
923 span /\.html$/
924 class token regex
925 span ,
926 class token punctuation
927 a use
928 class code-link
929 href /configuration/module#rule-use
930 span :
931 class token punctuation
932 span [
933 class token punctuation
934 span // apply multiple loaders and options
935 class token comment
936 spellcheck true
937 span "htmllint-loader"
938 class token string
939 span ,
940 class token punctuation
941 span {
942 class token punctuation
943 + loader
944 span :
945 class token punctuation
946 span "html-loader"
947 class token string
948 span ,
949 class token punctuation
950 + options
951 span :
952 class token punctuation
953 span {
954 class token punctuation
955 span /* ... */
956 class token comment
957 spellcheck true
958 span }
959 class token punctuation
960 span }
961 class token punctuation
962 span ]
963 class token punctuation
964 span }
965 class token punctuation
966 span ,
967 class token punctuation
968 span {
969 class token punctuation
970 a oneOf
971 class code-link
972 href /configuration/module#rule-oneof
973 span :
974 class token punctuation
975 span [
976 class token punctuation
977 span /* rules */
978 class token comment
979 spellcheck true
980 span ]
981 class token punctuation
982 span }
983 class token punctuation
984 span ,
985 class token punctuation
986 span // only use one of these nested rules
987 class token comment
988 spellcheck true
989 span {
990 class token punctuation
991 a rules
992 class code-link
993 href /configuration/module#rule-rules
994 span :
995 class token punctuation
996 span [
997 class token punctuation
998 span /* rules */
999 class token comment
1000 spellcheck true
1001 span ]
1002 class token punctuation
1003 span }
1004 class token punctuation
1005 span ,
1006 class token punctuation
1007 span // use all of these nested rules (combine with conditions to be useful)
1008 class token comment
1009 spellcheck true
1010 span {
1011 class token punctuation
1012 a resource
1013 class code-link
1014 href /configuration/module#rule-resource
1015 span :
1016 class token punctuation
1017 span {
1018 class token punctuation
1019 a and
1020 class code-link
1021 href /configuration/module#condition
1022 span :
1023 class token punctuation
1024 span [
1025 class token punctuation
1026 span /* conditions */
1027 class token comment
1028 spellcheck true
1029 span ]
1030 class token punctuation
1031 span }
1032 class token punctuation
1033 span }
1034 class token punctuation
1035 span ,
1036 class token punctuation
1037 span // matches only if all conditions are matched
1038 class token comment
1039 spellcheck true
1040 span {
1041 class token punctuation
1042 a resource
1043 class code-link
1044 href /configuration/module#rule-resource
1045 span :
1046 class token punctuation
1047 span {
1048 class token punctuation
1049 a or
1050 class code-link
1051 href /configuration/module#condition
1052 span :
1053 class token punctuation
1054 span [
1055 class token punctuation
1056 span /* conditions */
1057 class token comment
1058 spellcheck true
1059 span ]
1060 class token punctuation
1061 span }
1062 class token punctuation
1063 span }
1064 class token punctuation
1065 span ,
1066 class token punctuation
1067 span {
1068 class token punctuation
1069 a resource
1070 class code-link
1071 href /configuration/module#rule-resource
1072 span :
1073 class token punctuation
1074 span [
1075 class token punctuation
1076 span /* conditions */
1077 class token comment
1078 spellcheck true
1079 span ]
1080 class token punctuation
1081 span }
1082 class token punctuation
1083 span ,
1084 class token punctuation
1085 span // matches if any condition is matched (default for arrays)
1086 class token comment
1087 spellcheck true
1088 span {
1089 class token punctuation
1090 a resource
1091 class code-link
1092 href /configuration/module#rule-resource
1093 span :
1094 class token punctuation
1095 span {
1096 class token punctuation
1097 a not
1098 class code-link
1099 href /configuration/module#condition
1100 span :
1101 class token punctuation
1102 span /* condition */
1103 class token comment
1104 spellcheck true
1105 span }
1106 class token punctuation
1107 span }
1108 class token punctuation
1109 span // matches if the condition is not matched
1110 class token comment
1111 spellcheck true
1112 span ]
1113 class token punctuation
1114 span ,
1115 class token punctuation
1116 details
1117 summary
1118 span
1119 class code-details-summary-span
1120 span /* Advanced module configuration (click to show) */
1121 class token comment
1122 spellcheck true
1123 a noParse
1124 class code-link
1125 href /configuration/module#module-noparse
1126 span :
1127 class token punctuation
1128 span [
1129 class token punctuation
1130 span /special-library\.js$/
1131 class token regex
1132 span ]
1133 class token punctuation
1134 span ,
1135 class token punctuation
1136 span // do not parse this module
1137 class token comment
1138 spellcheck true
1139 + unknownContextRequest
1140 span :
1141 class token punctuation
1142 span "."
1143 class token string
1144 span ,
1145 class token punctuation
1146 + unknownContextRecursive
1147 span :
1148 class token punctuation
1149 span true
1150 class token boolean
1151 span ,
1152 class token punctuation
1153 + unknownContextRegExp
1154 span :
1155 class token punctuation
1156 span /^\.\/.*$/
1157 class token regex
1158 span ,
1159 class token punctuation
1160 + unknownContextCritical
1161 span :
1162 class token punctuation
1163 span true
1164 class token boolean
1165 span ,
1166 class token punctuation
1167 + exprContextRequest
1168 span :
1169 class token punctuation
1170 span "."
1171 class token string
1172 span ,
1173 class token punctuation
1174 + exprContextRegExp
1175 span :
1176 class token punctuation
1177 span /^\.\/.*$/
1178 class token regex
1179 span ,
1180 class token punctuation
1181 + exprContextRecursive
1182 span :
1183 class token punctuation
1184 span true
1185 class token boolean
1186 span ,
1187 class token punctuation
1188 + exprContextCritical
1189 span :
1190 class token punctuation
1191 span true
1192 class token boolean
1193 span ,
1194 class token punctuation
1195 + wrappedContextRegExp
1196 span :
1197 class token punctuation
1198 span /.*/
1199 class token regex
1200 span ,
1201 class token punctuation
1202 + wrappedContextRecursive
1203 span :
1204 class token punctuation
1205 span true
1206 class token boolean
1207 span ,
1208 class token punctuation
1209 + wrappedContextCritical
1210 span :
1211 class token punctuation
1212 span false
1213 class token boolean
1214 span ,
1215 class token punctuation
1216 span // specifies default behavior for dynamic requests
1217 class token comment
1218 spellcheck true
1219 span }
1220 class token punctuation
1221 span ,
1222 class token punctuation
1223 a resolve
1224 class code-link
1225 href /configuration/resolve
1226 span :
1227 class token punctuation
1228 span {
1229 class token punctuation
1230 span // options for resolving module requests
1231 class token comment
1232 spellcheck true
1233 span // (does not apply to resolving to loaders)
1234 class token comment
1235 spellcheck true
1236 a modules
1237 class code-link
1238 href /configuration/resolve#resolve-modules
1239 span :
1240 class token punctuation
1241 span [
1242 class token punctuation
1243 span "node_modules"
1244 class token string
1245 span ,
1246 class token punctuation
1247 + path
1248 span .
1249 class token punctuation
1250 span resolve
1251 class token function
1252 span (
1253 class token punctuation
1254 + __dirname
1255 span ,
1256 class token punctuation
1257 span "app"
1258 class token string
1259 span )
1260 class token punctuation
1261 span ]
1262 class token punctuation
1263 span ,
1264 class token punctuation
1265 span // directories where to look for modules
1266 class token comment
1267 spellcheck true
1268 a extensions
1269 class code-link
1270 href /configuration/resolve#resolve-extensions
1271 span :
1272 class token punctuation
1273 span [
1274 class token punctuation
1275 span ".js"
1276 class token string
1277 span ,
1278 class token punctuation
1279 span ".json"
1280 class token string
1281 span ,
1282 class token punctuation
1283 span ".jsx"
1284 class token string
1285 span ,
1286 class token punctuation
1287 span ".css"
1288 class token string
1289 span ]
1290 class token punctuation
1291 span ,
1292 class token punctuation
1293 span // extensions that are used
1294 class token comment
1295 spellcheck true
1296 a alias
1297 class code-link
1298 href /configuration/resolve#resolve-alias
1299 span :
1300 class token punctuation
1301 span {
1302 class token punctuation
1303 span // a list of module name aliases
1304 class token comment
1305 spellcheck true
1306 span "module"
1307 class token string
1308 span :
1309 class token punctuation
1310 span "new-module"
1311 class token string
1312 span ,
1313 class token punctuation
1314 span // alias "module" -> "new-module" and "module/path/file" -> "new-module/path/file"
1315 class token comment
1316 spellcheck true
1317 span "only-module$"
1318 class token string
1319 span :
1320 class token punctuation
1321 span "new-module"
1322 class token string
1323 span ,
1324 class token punctuation
1325 span // alias "only-module" -> "new-module", but not "module/path/file" -> "new-module/path/file"
1326 class token comment
1327 spellcheck true
1328 span "module"
1329 class token string
1330 span :
1331 class token punctuation
1332 + path
1333 span .
1334 class token punctuation
1335 span resolve
1336 class token function
1337 span (
1338 class token punctuation
1339 + __dirname
1340 span ,
1341 class token punctuation
1342 span "app/third/module.js"
1343 class token string
1344 span )
1345 class token punctuation
1346 span ,
1347 class token punctuation
1348 span // alias "module" -> "./app/third/module.js" and "module/file" results in error
1349 class token comment
1350 spellcheck true
1351 span // modules aliases are imported relative to the current context
1352 class token comment
1353 spellcheck true
1354 span }
1355 class token punctuation
1356 span ,
1357 class token punctuation
1358 details
1359 summary
1360 span
1361 class code-details-summary-span
1362 span /* alternative alias syntax (click to show) */
1363 class token comment
1364 spellcheck true
1365 a alias
1366 class code-link
1367 href /configuration/resolve#resolve-alias
1368 span :
1369 class token punctuation
1370 span [
1371 class token punctuation
1372 span {
1373 class token punctuation
1374 + name
1375 span :
1376 class token punctuation
1377 span "module"
1378 class token string
1379 span ,
1380 class token punctuation
1381 span // the old request
1382 class token comment
1383 spellcheck true
1384 + alias
1385 span :
1386 class token punctuation
1387 span "new-module"
1388 class token string
1389 span ,
1390 class token punctuation
1391 span // the new request
1392 class token comment
1393 spellcheck true
1394 + onlyModule
1395 span :
1396 class token punctuation
1397 span true
1398 class token boolean
1399 span // if true only "module" is aliased
1400 class token comment
1401 spellcheck true
1402 span // if false "module/inner/path" is also aliased
1403 class token comment
1404 spellcheck true
1405 span }
1406 class token punctuation
1407 span ]
1408 class token punctuation
1409 span ,
1410 class token punctuation
1411 details
1412 summary
1413 span
1414 class code-details-summary-span
1415 span /* Advanced resolve configuration (click to show) */
1416 class token comment
1417 spellcheck true
1418 a symlinks
1419 class code-link
1420 href /configuration/resolve#resolve-symlinks
1421 span :
1422 class token punctuation
1423 span true
1424 class token boolean
1425 span ,
1426 class token punctuation
1427 span // follow symlinks to new location
1428 class token comment
1429 spellcheck true
1430 a descriptionFiles
1431 class code-link
1432 href /configuration/resolve#resolve-descriptionfiles
1433 span :
1434 class token punctuation
1435 span [
1436 class token punctuation
1437 span "package.json"
1438 class token string
1439 span ]
1440 class token punctuation
1441 span ,
1442 class token punctuation
1443 span // files that are read for package description
1444 class token comment
1445 spellcheck true
1446 a mainFields
1447 class code-link
1448 href /configuration/resolve#resolve-mainfields
1449 span :
1450 class token punctuation
1451 span [
1452 class token punctuation
1453 span "main"
1454 class token string
1455 span ]
1456 class token punctuation
1457 span ,
1458 class token punctuation
1459 span // properties that are read from description file
1460 class token comment
1461 spellcheck true
1462 span // when a folder is requested
1463 class token comment
1464 spellcheck true
1465 a aliasFields
1466 class code-link
1467 href /configuration/resolve#resolve-aliasfields
1468 span :
1469 class token punctuation
1470 span [
1471 class token punctuation
1472 span "browser"
1473 class token string
1474 span ]
1475 class token punctuation
1476 span ,
1477 class token punctuation
1478 span // properites that are read from description file
1479 class token comment
1480 spellcheck true
1481 span // to alias requests in this package
1482 class token comment
1483 spellcheck true
1484 a enforceExtension
1485 class code-link
1486 href /configuration/resolve#resolve-enforceextension
1487 span :
1488 class token punctuation
1489 span false
1490 class token boolean
1491 span ,
1492 class token punctuation
1493 span // if true request must not include an extensions
1494 class token comment
1495 spellcheck true
1496 span // if false request may already include an extension
1497 class token comment
1498 spellcheck true
1499 a moduleExtensions
1500 class code-link
1501 href /configuration/resolve#resolveloader-moduleextensions
1502 span :
1503 class token punctuation
1504 span [
1505 class token punctuation
1506 span "-module"
1507 class token string
1508 span ]
1509 class token punctuation
1510 span ,
1511 class token punctuation
1512 a enforceModuleExtension
1513 class code-link
1514 href /configuration/resolve#resolve-enforcemoduleextension
1515 span :
1516 class token punctuation
1517 span false
1518 class token boolean
1519 span ,
1520 class token punctuation
1521 span // like extensions/enforceExtension but for module names instead of files
1522 class token comment
1523 spellcheck true
1524 a unsafeCache
1525 class code-link
1526 href /configuration/resolve#resolve-unsafecache
1527 span :
1528 class token punctuation
1529 span true
1530 class token boolean
1531 span ,
1532 class token punctuation
1533 a unsafeCache
1534 class code-link
1535 href /configuration/resolve#resolve-unsafecache
1536 span :
1537 class token punctuation
1538 span {
1539 class token punctuation
1540 span }
1541 class token punctuation
1542 span ,
1543 class token punctuation
1544 span // enables caching for resolved requests
1545 class token comment
1546 spellcheck true
1547 span // this is unsafe as folder structure may change
1548 class token comment
1549 spellcheck true
1550 span // but performance improvement is really big
1551 class token comment
1552 spellcheck true
1553 a cachePredicate
1554 class code-link
1555 href /configuration/resolve#resolve-cachepredicate
1556 span :
1557 class token punctuation
1558 span (
1559 class token punctuation
1560 + path
1561 span ,
1562 class token punctuation
1563 + request
1564 span )
1565 class token punctuation
1566 span =
1567 class token operator
1568 span >
1569 class token operator
1570 span true
1571 class token boolean
1572 span ,
1573 class token punctuation
1574 span // predicate function which selects requests for caching
1575 class token comment
1576 spellcheck true
1577 a plugins
1578 class code-link
1579 href /configuration/resolve#resolve-plugins
1580 span :
1581 class token punctuation
1582 span [
1583 class token punctuation
1584 span // ...
1585 class token comment
1586 spellcheck true
1587 span ]
1588 class token punctuation
1589 span // additional plugins applied to the resolver
1590 class token comment
1591 spellcheck true
1592 span }
1593 class token punctuation
1594 span ,
1595 class token punctuation
1596 a performance
1597 class code-link
1598 href /configuration/performance
1599 span :
1600 class token punctuation
1601 span {
1602 class token punctuation
1603 details
1604 summary
1605 span
1606 class code-details-summary-span
1607 a hints
1608 class code-link
1609 href /configuration/performance#performance-hints
1610 span :
1611 class token punctuation
1612 span "warning"
1613 class token string
1614 span ,
1615 class token punctuation
1616 span // enum
1617 class token comment
1618 spellcheck true
1619 a hints
1620 class code-link
1621 href /configuration/performance#performance-hints
1622 span :
1623 class token punctuation
1624 span "error"
1625 class token string
1626 span ,
1627 class token punctuation
1628 span // emit errors for perf hints
1629 class token comment
1630 spellcheck true
1631 a hints
1632 class code-link
1633 href /configuration/performance#performance-hints
1634 span :
1635 class token punctuation
1636 span false
1637 class token boolean
1638 span ,
1639 class token punctuation
1640 span // turn off perf hints
1641 class token comment
1642 spellcheck true
1643 a maxAssetSize
1644 class code-link
1645 href /configuration/performance#performance-maxassetsize
1646 span :
1647 class token punctuation
1648 span 200000
1649 class token number
1650 span ,
1651 class token punctuation
1652 span // int (in bytes),
1653 class token comment
1654 spellcheck true
1655 a maxEntrypointSize
1656 class code-link
1657 href /configuration/performance#performance-maxentrypointsize
1658 span :
1659 class token punctuation
1660 span 400000
1661 class token number
1662 span ,
1663 class token punctuation
1664 span // int (in bytes)
1665 class token comment
1666 spellcheck true
1667 a assetFilter
1668 class code-link
1669 href /configuration/performance#performance-assetfilter
1670 span :
1671 class token punctuation
1672 span function
1673 class token keyword
1674 span (
1675 class token punctuation
1676 + assetFilename
1677 span )
1678 class token punctuation
1679 span {
1680 class token punctuation
1681 span // Function predicate that provides asset filenames
1682 class token comment
1683 spellcheck true
1684 span return
1685 class token keyword
1686 + assetFilename
1687 span .
1688 class token punctuation
1689 span endsWith
1690 class token function
1691 span (
1692 class token punctuation
1693 span '.css'
1694 class token string
1695 span )
1696 class token punctuation
1697 span ||
1698 class token operator
1699 + assetFilename
1700 span .
1701 class token punctuation
1702 span endsWith
1703 class token function
1704 span (
1705 class token punctuation
1706 span '.js'
1707 class token string
1708 span )
1709 class token punctuation
1710 span ;
1711 class token punctuation
1712 span }
1713 class token punctuation
1714 span }
1715 class token punctuation
1716 span ,
1717 class token punctuation
1718 details
1719 summary
1720 span
1721 class code-details-summary-span
1722 a devtool
1723 class code-link
1724 href /configuration/devtool
1725 span :
1726 class token punctuation
1727 span "source-map"
1728 class token string
1729 span ,
1730 class token punctuation
1731 span // enum
1732 class token comment
1733 spellcheck true
1734 a devtool
1735 class code-link
1736 href /configuration/devtool
1737 span :
1738 class token punctuation
1739 span "inline-source-map"
1740 class token string
1741 span ,
1742 class token punctuation
1743 span // inlines SourceMap into original file
1744 class token comment
1745 spellcheck true
1746 a devtool
1747 class code-link
1748 href /configuration/devtool
1749 span :
1750 class token punctuation
1751 span "eval-source-map"
1752 class token string
1753 span ,
1754 class token punctuation
1755 span // inlines SourceMap per module
1756 class token comment
1757 spellcheck true
1758 a devtool
1759 class code-link
1760 href /configuration/devtool
1761 span :
1762 class token punctuation
1763 span "hidden-source-map"
1764 class token string
1765 span ,
1766 class token punctuation
1767 span // SourceMap without reference in original file
1768 class token comment
1769 spellcheck true
1770 a devtool
1771 class code-link
1772 href /configuration/devtool
1773 span :
1774 class token punctuation
1775 span "cheap-source-map"
1776 class token string
1777 span ,
1778 class token punctuation
1779 span // cheap-variant of SourceMap without module mappings
1780 class token comment
1781 spellcheck true
1782 a devtool
1783 class code-link
1784 href /configuration/devtool
1785 span :
1786 class token punctuation
1787 span "cheap-module-source-map"
1788 class token string
1789 span ,
1790 class token punctuation
1791 span // cheap-variant of SourceMap with module mappings
1792 class token comment
1793 spellcheck true
1794 a devtool
1795 class code-link
1796 href /configuration/devtool
1797 span :
1798 class token punctuation
1799 span "eval"
1800 class token string
1801 span ,
1802 class token punctuation
1803 span // no SourceMap, but named modules. Fastest at the expense of detail.
1804 class token comment
1805 spellcheck true
1806 span // enhance debugging by adding meta info for the browser devtools
1807 class token comment
1808 spellcheck true
1809 span // source-map most detailed at the expense of build speed.
1810 class token comment
1811 spellcheck true
1812 a context
1813 class code-link
1814 href /configuration/entry-context#context
1815 span :
1816 class token punctuation
1817 + __dirname
1818 span ,
1819 class token punctuation
1820 span // string (absolute path!)
1821 class token comment
1822 spellcheck true
1823 span // the home directory for webpack
1824 class token comment
1825 spellcheck true
1826 span // the
1827 class token comment
1828 spellcheck true
1829 a entry
1830 class code-link
1831 href /configuration/entry-context
1832 + and
1833 a module.rules.loader
1834 class code-link
1835 href /configuration/module#rule-loader
1836 + option
1837 span // is resolved relative to this directory
1838 class token comment
1839 spellcheck true
1840 details
1841 summary
1842 span
1843 class code-details-summary-span
1844 a target
1845 class code-link
1846 href /configuration/target
1847 span :
1848 class token punctuation
1849 span "web"
1850 class token string
1851 span ,
1852 class token punctuation
1853 span // enum
1854 class token comment
1855 spellcheck true
1856 a target
1857 class code-link
1858 href /configuration/target
1859 span :
1860 class token punctuation
1861 span "webworker"
1862 class token string
1863 span ,
1864 class token punctuation
1865 span // WebWorker
1866 class token comment
1867 spellcheck true
1868 a target
1869 class code-link
1870 href /configuration/target
1871 span :
1872 class token punctuation
1873 span "node"
1874 class token string
1875 span ,
1876 class token punctuation
1877 span // Node.js via require
1878 class token comment
1879 spellcheck true
1880 a target
1881 class code-link
1882 href /configuration/target
1883 span :
1884 class token punctuation
1885 span "async-node"
1886 class token string
1887 span ,
1888 class token punctuation
1889 span // Node.js via fs and vm
1890 class token comment
1891 spellcheck true
1892 a target
1893 class code-link
1894 href /configuration/target
1895 span :
1896 class token punctuation
1897 span "node-webkit"
1898 class token string
1899 span ,
1900 class token punctuation
1901 span // nw.js
1902 class token comment
1903 spellcheck true
1904 a target
1905 class code-link
1906 href /configuration/target
1907 span :
1908 class token punctuation
1909 span "electron-main"
1910 class token string
1911 span ,
1912 class token punctuation
1913 span // electron, main process
1914 class token comment
1915 spellcheck true
1916 a target
1917 class code-link
1918 href /configuration/target
1919 span :
1920 class token punctuation
1921 span "electron-renderer"
1922 class token string
1923 span ,
1924 class token punctuation
1925 span // electron, renderer process
1926 class token comment
1927 spellcheck true
1928 a target
1929 class code-link
1930 href /configuration/target
1931 span :
1932 class token punctuation
1933 span (
1934 class token punctuation
1935 + compiler
1936 span )
1937 class token punctuation
1938 span =
1939 class token operator
1940 span >
1941 class token operator
1942 span {
1943 class token punctuation
1944 span /* ... */
1945 class token comment
1946 spellcheck true
1947 span }
1948 class token punctuation
1949 span ,
1950 class token punctuation
1951 span // custom
1952 class token comment
1953 spellcheck true
1954 span // the environment in which the bundle should run
1955 class token comment
1956 spellcheck true
1957 span // changes chunk loading behavior and available modules
1958 class token comment
1959 spellcheck true
1960 details
1961 summary
1962 span
1963 class code-details-summary-span
1964 a externals
1965 class code-link
1966 href /configuration/externals
1967 span :
1968 class token punctuation
1969 span [
1970 class token punctuation
1971 span "react"
1972 class token string
1973 span ,
1974 class token punctuation
1975 span /
1976 class token operator
1977 span ^
1978 class token operator
1979 + @angular\
1980 span /
1981 class token operator
1982 span /
1983 class token operator
1984 span ]
1985 class token punctuation
1986 span ,
1987 class token punctuation
1988 a externals
1989 class code-link
1990 href /configuration/externals
1991 span :
1992 class token punctuation
1993 span "react"
1994 class token string
1995 span ,
1996 class token punctuation
1997 span // string (exact match)
1998 class token comment
1999 spellcheck true
2000 a externals
2001 class code-link
2002 href /configuration/externals
2003 span :
2004 class token punctuation
2005 span /^[a-z\-]+($|\/)/
2006 class token regex
2007 span ,
2008 class token punctuation
2009 span // Regex
2010 class token comment
2011 spellcheck true
2012 a externals
2013 class code-link
2014 href /configuration/externals
2015 span :
2016 class token punctuation
2017 span {
2018 class token punctuation
2019 span // object
2020 class token comment
2021 spellcheck true
2022 + angular
2023 span :
2024 class token punctuation
2025 span "this angular"
2026 class token string
2027 span ,
2028 class token punctuation
2029 span // this["angular"]
2030 class token comment
2031 spellcheck true
2032 + react
2033 span :
2034 class token punctuation
2035 span {
2036 class token punctuation
2037 span // UMD
2038 class token comment
2039 spellcheck true
2040 + commonjs
2041 span :
2042 class token punctuation
2043 span "react"
2044 class token string
2045 span ,
2046 class token punctuation
2047 + commonjs2
2048 span :
2049 class token punctuation
2050 span "react"
2051 class token string
2052 span ,
2053 class token punctuation
2054 + amd
2055 span :
2056 class token punctuation
2057 span "react"
2058 class token string
2059 span ,
2060 class token punctuation
2061 + root
2062 span :
2063 class token punctuation
2064 span "React"
2065 class token string
2066 span }
2067 class token punctuation
2068 span }
2069 class token punctuation
2070 span ,
2071 class token punctuation
2072 a externals
2073 class code-link
2074 href /configuration/externals
2075 span :
2076 class token punctuation
2077 span (
2078 class token punctuation
2079 + request
2080 span )
2081 class token punctuation
2082 span =
2083 class token operator
2084 span >
2085 class token operator
2086 span {
2087 class token punctuation
2088 span /* ... */
2089 class token comment
2090 spellcheck true
2091 span return
2092 class token keyword
2093 span "commonjs "
2094 class token string
2095 span +
2096 class token operator
2097 + request
2098 span }
2099 class token punctuation
2100 span // Don't follow/bundle these modules, but request them at runtime from the environment
2101 class token comment
2102 spellcheck true
2103 details
2104 summary
2105 span
2106 class code-details-summary-span
2107 a stats
2108 class code-link
2109 href /configuration/stats
2110 span :
2111 class token punctuation
2112 span "errors-only"
2113 class token string
2114 span ,
2115 class token punctuation
2116 a stats
2117 class code-link
2118 href /configuration/stats
2119 span :
2120 class token punctuation
2121 span {
2122 class token punctuation
2123 span //object
2124 class token comment
2125 spellcheck true
2126 + assets
2127 span :
2128 class token punctuation
2129 span true
2130 class token boolean
2131 span ,
2132 class token punctuation
2133 + colors
2134 span :
2135 class token punctuation
2136 span true
2137 class token boolean
2138 span ,
2139 class token punctuation
2140 + errors
2141 span :
2142 class token punctuation
2143 span true
2144 class token boolean
2145 span ,
2146 class token punctuation
2147 + errorDetails
2148 span :
2149 class token punctuation
2150 span true
2151 class token boolean
2152 span ,
2153 class token punctuation
2154 + hash
2155 span :
2156 class token punctuation
2157 span true
2158 class token boolean
2159 span ,
2160 class token punctuation
2161 span // ...
2162 class token comment
2163 spellcheck true
2164 span }
2165 class token punctuation
2166 span ,
2167 class token punctuation
2168 span // lets you precisely control what bundle information gets displayed
2169 class token comment
2170 spellcheck true
2171 a devServer
2172 class code-link
2173 href /configuration/dev-server
2174 span :
2175 class token punctuation
2176 span {
2177 class token punctuation
2178 + proxy
2179 span :
2180 class token punctuation
2181 span {
2182 class token punctuation
2183 span // proxy URLs to backend development server
2184 class token comment
2185 spellcheck true
2186 span '/api'
2187 class token string
2188 span :
2189 class token punctuation
2190 span 'http://localhost:3000'
2191 class token string
2192 span }
2193 class token punctuation
2194 span ,
2195 class token punctuation
2196 + contentBase
2197 span :
2198 class token punctuation
2199 + path
2200 span .
2201 class token punctuation
2202 span join
2203 class token function
2204 span (
2205 class token punctuation
2206 + __dirname
2207 span ,
2208 class token punctuation
2209 span 'public'
2210 class token string
2211 span )
2212 class token punctuation
2213 span ,
2214 class token punctuation
2215 span // boolean | string | array, static file location
2216 class token comment
2217 spellcheck true
2218 + compress
2219 span :
2220 class token punctuation
2221 span true
2222 class token boolean
2223 span ,
2224 class token punctuation
2225 span // enable gzip compression
2226 class token comment
2227 spellcheck true
2228 + historyApiFallback
2229 span :
2230 class token punctuation
2231 span true
2232 class token boolean
2233 span ,
2234 class token punctuation
2235 span // true for index.html upon 404, object for multiple paths
2236 class token comment
2237 spellcheck true
2238 + hot
2239 span :
2240 class token punctuation
2241 span true
2242 class token boolean
2243 span ,
2244 class token punctuation
2245 span // hot module replacement. Depends on HotModuleReplacementPlugin
2246 class token comment
2247 spellcheck true
2248 + https
2249 span :
2250 class token punctuation
2251 span false
2252 class token boolean
2253 span ,
2254 class token punctuation
2255 span // true for self-signed, object for cert authority
2256 class token comment
2257 spellcheck true
2258 + noInfo
2259 span :
2260 class token punctuation
2261 span true
2262 class token boolean
2263 span ,
2264 class token punctuation
2265 span // only errors & warns on hot reload
2266 class token comment
2267 spellcheck true
2268 span // ...
2269 class token comment
2270 spellcheck true
2271 span }
2272 class token punctuation
2273 span ,
2274 class token punctuation
2275 a plugins
2276 class code-link
2277 href plugins
2278 span :
2279 class token punctuation
2280 span [
2281 class token punctuation
2282 span // ...
2283 class token comment
2284 spellcheck true
2285 span ]
2286 class token punctuation
2287 span ,
2288 class token punctuation
2289 span // list of additional plugins
2290 class token comment
2291 spellcheck true
2292 details
2293 summary
2294 span
2295 class code-details-summary-span
2296 span /* Advanced configuration (click to show) */
2297 class token comment
2298 spellcheck true
2299 a resolveLoader
2300 class code-link
2301 href /configuration/resolve#resolveloader
2302 span :
2303 class token punctuation
2304 span {
2305 class token punctuation
2306 span /* same as resolve */
2307 class token comment
2308 spellcheck true
2309 span }
2310 class token punctuation
2311 span // separate resolve options for loaders
2312 class token comment
2313 spellcheck true
2314 a profile
2315 class code-link
2316 href other-options#profile
2317 span :
2318 class token punctuation
2319 span true
2320 class token boolean
2321 span ,
2322 class token punctuation
2323 span // boolean
2324 class token comment
2325 spellcheck true
2326 span // capture timing information
2327 class token comment
2328 spellcheck true
2329 a bail
2330 class code-link
2331 href other-options#bail
2332 span :
2333 class token punctuation
2334 span true
2335 class token boolean
2336 span ,
2337 class token punctuation
2338 span //boolean
2339 class token comment
2340 spellcheck true
2341 span // fail out on the first error instead of tolerating it.
2342 class token comment
2343 spellcheck true
2344 a cache
2345 class code-link
2346 href other-options#cache
2347 span :
2348 class token punctuation
2349 span false
2350 class token boolean
2351 span ,
2352 class token punctuation
2353 span // boolean
2354 class token comment
2355 spellcheck true
2356 span // disable/enable caching
2357 class token comment
2358 spellcheck true
2359 a watch
2360 class code-link
2361 href watch#watch
2362 span :
2363 class token punctuation
2364 span true
2365 class token boolean
2366 span ,
2367 class token punctuation
2368 span // boolean
2369 class token comment
2370 spellcheck true
2371 span // enables watching
2372 class token comment
2373 spellcheck true
2374 a watchOptions
2375 class code-link
2376 href watch#watchoptions
2377 span :
2378 class token punctuation
2379 span {
2380 class token punctuation
2381 a aggregateTimeout
2382 class code-link
2383 href watch#watchoptions-aggregatetimeout
2384 span :
2385 class token punctuation
2386 span 1000
2387 class token number
2388 span ,
2389 class token punctuation
2390 span // in ms
2391 class token comment
2392 spellcheck true
2393 span // aggregates multiple changes to a single rebuild
2394 class token comment
2395 spellcheck true
2396 a poll
2397 class code-link
2398 href watch#watchoptions-poll
2399 span :
2400 class token punctuation
2401 span true
2402 class token boolean
2403 span ,
2404 class token punctuation
2405 a poll
2406 class code-link
2407 href watch#watchoptions-poll
2408 span :
2409 class token punctuation
2410 span 500
2411 class token number
2412 span ,
2413 class token punctuation
2414 span // intervall in ms
2415 class token comment
2416 spellcheck true
2417 span // enables polling mode for watching
2418 class token comment
2419 spellcheck true
2420 span // must be used on filesystems that doesn't notify on change
2421 class token comment
2422 spellcheck true
2423 span // i. e. nfs shares
2424 class token comment
2425 spellcheck true
2426 span }
2427 class token punctuation
2428 span ,
2429 class token punctuation
2430 a node
2431 class code-link
2432 href node
2433 span :
2434 class token punctuation
2435 span {
2436 class token punctuation
2437 span // Polyfills and mocks to run Node.js-
2438 class token comment
2439 spellcheck true
2440 span // environment code in non-Node environments.
2441 class token comment
2442 spellcheck true
2443 a console
2444 class code-link
2445 href node#node-console
2446 span :
2447 class token punctuation
2448 span false
2449 class token boolean
2450 span ,
2451 class token punctuation
2452 span // boolean | "mock"
2453 class token comment
2454 spellcheck true
2455 a global
2456 class code-link
2457 href node#node-global
2458 span :
2459 class token punctuation
2460 span true
2461 class token boolean
2462 span ,
2463 class token punctuation
2464 span // boolean | "mock"
2465 class token comment
2466 spellcheck true
2467 a process
2468 class code-link
2469 href node#node-process
2470 span :
2471 class token punctuation
2472 span true
2473 class token boolean
2474 span ,
2475 class token punctuation
2476 span // boolean
2477 class token comment
2478 spellcheck true
2479 a __filename
2480 class code-link
2481 href node#node-__filename
2482 span :
2483 class token punctuation
2484 span "mock"
2485 class token string
2486 span ,
2487 class token punctuation
2488 span // boolean | "mock"
2489 class token comment
2490 spellcheck true
2491 a __dirname
2492 class code-link
2493 href node#node-__dirname
2494 span :
2495 class token punctuation
2496 span "mock"
2497 class token string
2498 span ,
2499 class token punctuation
2500 span // boolean | "mock"
2501 class token comment
2502 spellcheck true
2503 a Buffer
2504 class code-link
2505 href node#node-buffer
2506 span :
2507 class token punctuation
2508 span true
2509 class token boolean
2510 span ,
2511 class token punctuation
2512 span // boolean | "mock"
2513 class token comment
2514 spellcheck true
2515 a setImmediate
2516 class code-link
2517 href node#node-setimmediate
2518 span :
2519 class token punctuation
2520 span true
2521 class token boolean
2522 span // boolean | "mock" | "empty"
2523 class token comment
2524 spellcheck true
2525 span }
2526 class token punctuation
2527 span ,
2528 class token punctuation
2529 a recordsPath
2530 class code-link
2531 href other-options#recordspath
2532 span :
2533 class token punctuation
2534 + path
2535 span .
2536 class token punctuation
2537 span resolve
2538 class token function
2539 span (
2540 class token punctuation
2541 + __dirname
2542 span ,
2543 class token punctuation
2544 span "build/records.json"
2545 class token string
2546 span )
2547 class token punctuation
2548 span ,
2549 class token punctuation
2550 a recordsInputPath
2551 class code-link
2552 href other-options#recordsinputpath
2553 span :
2554 class token punctuation
2555 + path
2556 span .
2557 class token punctuation
2558 span resolve
2559 class token function
2560 span (
2561 class token punctuation
2562 + __dirname
2563 span ,
2564 class token punctuation
2565 span "build/records.json"
2566 class token string
2567 span )
2568 class token punctuation
2569 span ,
2570 class token punctuation
2571 a recordsOutputPath
2572 class code-link
2573 href other-options#recordsoutputpath
2574 span :
2575 class token punctuation
2576 + path
2577 span .
2578 class token punctuation
2579 span resolve
2580 class token function
2581 span (
2582 class token punctuation
2583 + __dirname
2584 span ,
2585 class token punctuation
2586 span "build/records.json"
2587 class token string
2588 span )
2589 class token punctuation
2590 span ,
2591 class token punctuation
2592 span // TODO
2593 class token comment
2594 spellcheck true
2595 span }
2596 class token punctuation
2597 div
2598 hr
2599 h3 Contributors
2600 . contributors
2601 . contributors__list
2602 a
2603 class contributor
2604 href https://github.com/bondz
2605 img
2606 src https://github.com/bondz.png?size=90
2607 span bondz
2608 class contributor__name
2609 a
2610 class contributor
2611 href https://github.com/grgur
2612 img
2613 src https://github.com/grgur.png?size=90
2614 span grgur
2615 class contributor__name
2616 a
2617 class contributor
2618 href https://github.com/kbariotis
2619 img
2620 src https://github.com/kbariotis.png?size=90
2621 span kbariotis
2622 class contributor__name
2623 a
2624 class contributor
2625 href https://github.com/mattce
2626 img
2627 src https://github.com/mattce.png?size=90
2628 span mattce
2629 class contributor__name
2630 a
2631 class contributor
2632 href https://github.com/skipjack
2633 img
2634 src https://github.com/skipjack.png?size=90
2635 span skipjack
2636 class contributor__name
2637 a
2638 class contributor
2639 href https://github.com/sokra
2640 img
2641 src https://github.com/sokra.png?size=90
2642 span sokra
2643 class contributor__name
2644 a
2645 class contributor
2646 href https://github.com/sricc
2647 img
2648 src https://github.com/sricc.png?size=90
2649 span sricc
2650 class contributor__name
2651 a
2652 class contributor
2653 href https://github.com/sterlingvix
2654 img
2655 src https://github.com/sterlingvix.png?size=90
2656 span sterlingvix
2657 class contributor__name
2658 a
2659 class contributor
2660 href https://github.com/terinjokes
2661 img
2662 src https://github.com/terinjokes.png?size=90
2663 span terinjokes
2664 class contributor__name
2665 . interactive
2666 id components/gitter/gitter.jsx
2667 data-props {}
2668 span
2669 class gitter
2670 footer
2671 class footer
2672 . container footer__inner
2673 section
2674 class footer__left
2675 a Getting Started
2676 href /guides/getting-started
2677 class footer__link
2678 a Organization
2679 href /organization
2680 class footer__link
2681 a Support
2682 href /support
2683 class footer__link
2684 a Comparison
2685 href /comparison
2686 class footer__link
2687 section
2688 class footer__middle
2689 a
2690 href /
2691 class footer__icon
2692 img
2693 src /6bc5d8cf78d442a984e70195db059b69.svg
2694 alt webpack icon
2695 section
2696 class footer__right
2697 a Glossary
2698 href /glossary
2699 class footer__link
2700 a Branding
2701 href /branding
2702 class footer__link
2703 a Gitter
2704 href //gitter.im/webpack/webpack
2705 target _blank
2706 class footer__link
2707 a Changelog
2708 href https://github.com/webpack/webpack/releases
2709 target _blank
2710 class footer__link
2711 a
2712 href /license
2713 class footer__link footer__license
2714 img
2715 alt Creative Commons License
2716 src /c983c925f14c5a308465ce5f912be111.svg
2717 img
2718 alt Creative Commons License
2719 src /c440e4e11ad72daf1899ca0616ddd8b8.svg
2720 script (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-46921629-2', 'auto');ga('send', 'pageview');
2721 js /a41afb7cd56b402a05b81b9498554a37.js
2722 script
2723 $.
2724 (( window.gitter = {}).chat = {}).options = {)
2725 room: 'webpack/webpack',
2726 activationElement: false
2727 };
2728 js https://sidecar.gitter.im/dist/sidecar.v1.js

/src/ittf/jobs/ittf__copy/docs/html/stylesheets/style1.html.ittf

    
1 html
2 $include defs
3 head
4 @title Style sheets lab - styles 1
5 link
6 href https://fonts.googleapis.com/css?family=Source+Code+Pro:400,600|Source+Sans+Pro:200,400,400i,500
7 css css/styles1.css.ittf
8 body
9 h2 a (anchor)
10 a link to
11 href #
12 class icon-link
13 h2 Icons
14 $foreach icon in iconDefs
15 a
16 href #
17 i
18 class ${icon.name}
19 br
20 h2 Navigation search
21 . navigation__search
22 span
23 class algolia-autocomplete
24 style position: relative; display: inline-block; direction: ltr;
25 input
26 type text
27 class navigation__search-input ds-input
28 placeholder Search documentation…
29 autocomplete off
30 spellcheck false
31 role combobox
32 aria-autocomplete list
33 aria-expanded false
34 aria-owns algolia-autocomplete-listbox-0
35 dir auto
36 style position: relative; vertical-align: top;
37 pre
38 aria-hidden true
39 style position: absolute; visibility: hidden; white-space: pre; font-family: Arial; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; word-spacing: 0px; letter-spacing: normal; text-indent: 7px; text-rendering: auto; text-transform: none;
40 span
41 class ds-dropdown-menu
42 role listbox
43 id algolia-autocomplete-listbox-0
44 style position: absolute; top: 100%; z-index: 100; left: 0px; right: auto; display: none;
45 . ds-dataset-1
46 button
47 class navigation__search-icon icon-magnifying-glass
48 button
49 class navigation__search-icon icon-cross
50 h2 Navigation
51 $include style1/navigation
52 h3 Logo
53 $include style1/logo

/src/ittf/jobs/ittf__copy/docs/html/t/html/concepts/sample-tabpages.html.ittf

    
1 $group
2 div
3 id sample-${sample.id}-tabcontrol
4 div
5 class wz-ui-page wz-ui-default-page
6 id sample-${sample.id}-tab-${sample.primaryIttf.id}
7 . summary
8 $foreach line in sample.primaryIttf.summaryLines
9 + ${line}
10 $foreach line in sample.primaryIttf.nodeLines
11 + ${line}
12 $foreach mixin in sample.mixins
13 div
14 class wz-ui-page
15 id sample-${sample.id}-tab-${mixin.id}
16 . summary
17 $foreach line in mixin.summaryLines
18 + ${line}
19 $foreach line in mixin.nodeLines
20 + ${line}
21 $foreach include in sample.includes
22 div
23 class wz-ui-page
24 id sample-${sample.id}-tab-${include.id}
25 . summary
26 $foreach line in include.summaryLines
27 + ${line}
28 $foreach line in include.nodeLines
29 + ${line}
30 div
31 class wz-ui-page
32 id sample-${sample.id}-tab-${sample.schema.id}
33 . summary
34 $foreach line in sample.schema.summaryLines
35 + ${line}
36 $foreach line in sample.schema.nodeLines
37 + ${line}

/src/ittf/jobs/ittf__copy/docs/html/t/html/concepts/sample-tabs.html.ittf

    
1 $group
2 div
3 class wz-ui-tabs-container
4 ul
5 class wz-ui-tabs
6 li
7 a primary ittf ${sample.primaryIttf.name}
8 class wz-ui-tab
9 data-tab-page sample-${sample.id}-tab-${sample.primaryIttf.id}
10 $foreach mixin in sample.mixins
11 li
12 a mixin ${mixin.name}
13 class wz-ui-tab
14 data-tab-page sample-${sample.id}-tab-${mixin.id}
15 $foreach include in sample.includes
16 li
17 a include ${include.name}
18 class wz-ui-tab
19 data-tab-page sample-${sample.id}-tab-${include.id}
20 li
21 a schema ${sample.schema.name}
22 class wz-ui-tab
23 data-tab-page sample-${sample.id}-tab-${sample.schema.id}

/src/ittf/jobs/ittf__copy/docs/html/t/html/concepts/sample-treeview.html.ittf

    
1 $group
2 div
3 class wz-ui-tv-container
4 ul
5 class wz-ui-tv-documents
6 style list-style-type:none; margin:0; padding:0;
7 data-active-document-title-id ${sample.id}-active-document
8 tv-folder( 0 )
9 ul
10 style list-style-type:none; margin:0; padding:0;
11 tv-folder( 10, schemas )
12 ul
13 style list-style-type:none; margin:0; padding:0;
14 tv-document( 20 )
15 a ${sample.schema.name}
16 class wz-ui-tv-document
17 data-doc-path ${sample.schema.path}
18 data-tab-page sample-${sample.id}-tab-${sample.schema.id}
19 $if sample.mixins.length + sample.includes.length > 0
20 tv-folder( 10, t )
21 ul
22 style list-style-type: none; margin:0; padding:0;
23 $foreach mixin in sample.mixins
24 tv-document( 20 )
25 a ${mixin.name}
26 class wz-ui-tv-document
27 data-doc-path ${mixin.path}
28 data-tab-page sample-${sample.id}-tab-${mixin.id}
29 $foreach include in sample.includes
30 tv-document( 20 )
31 a ${include.name}
32 class wz-ui-tv-document
33 data-doc-path ${include.path}
34 data-tab-page sample-${sample.id}-tab-${include.id}
35 li
36 tv-document( 10 )
37 a ${sample.primaryIttf.name}
38 class wz-ui-tv-document wz-ui-tv-document-selected
39 data-doc-path ${sample.primaryIttf.path}
40 data-tab-page sample-${sample.id}-tab-${sample.primaryIttf.id}

/src/ittf/jobs/ittf__copy/docs/html/t/html/concepts/toc.html.ittf

    
1 $group
2 section
3 id main-toc
4 class toc sidebar__inner
5 h3 Contents:
6 ol
7 $*
8 li
9 a Introduction
10 href #intro
11 li
12 a Concepts
13 ol
14 *$
15 li
16 a Introduction
17 href #concepts_title
18 $foreach concept in docs.concepts
19 li
20 a ${concept.name}
21 href #${concept.id}
22 $*
23 li
24 a Samples
25 ol
26 $foreach sgroup in docs.sampleGroups
27 li
28 a ${sgroup.name}
29 href #${sgroup.id}
30 ol
31 $foreach sample in sgroup.samples
32 li
33 a ${sample.name}
34 href #${sample.id}
35 *$

/src/ittf/jobs/ittf__copy/docs/html/t/html/docs/toc.html.ittf

    
1 $group
2 section
3 id main-toc
4 class toc toc sidebar__inner
5 h3 Contents:
6 ol
7 $foreach concept in docs.concepts
8 li
9 a ${concept.name}
10 href #${concept.id}
11 $foreach section in docs.sections
12 li
13 a Package: ${section.name}
14 ol
15 $foreach concept in section.concepts
16 li
17 a ${concept.name}
18 href #${concept.id}

/src/ittf/jobs/ittf__copy/docs/html/t/html/t__copy/tv-document.html.ittf

    
1 li
2 $params ml
3 style margin-left:${ml}px;
4 img
5 src document.svg
6 $hook

/src/ittf/jobs/ittf__copy/docs/html/t/html/t__copy/tv-folder.html.ittf

    
1 li
2 $params ml, folderName|@@null
3 style margin-left:${ml}px;
4 img
5 src folder.svg
6 $if folderName != null
7 span ${folderName}
8 $hook

/src/ittf/jobs/ittf__copy/docs/html/t/html/header.html.ittf

    
1 $group
2 header
3 class header
4 role banner
5 div
6 class header-logo
7 img
8 src logo.svg
9 nav
10 role navigation
11 class header-items
12 a Getting started
13 class header-item
14 href /gettingstarted
15 a Documentation
16 class header-item
17 href /documentation
18 a API
19 class header-item
20 href /api
21 a Resources
22 class header-item
23 href /resources
24 a Contributing
25 class header-item
26 href /contributing

/src/ittf/jobs/ittf__copy/docs/html/t/index/guide_hint.html.ittf

    
1 $group
2 $params title, href, subtitle|@@null
3 div ${title}
4 class text-gamma
5 $if subtitle != null
6 p ${subtitle}
7 class mb-2
8 $hook
9 p
10 class mb-6
11 a Read the guide →
12 href ${href}
13 class link-mono

/src/ittf/jobs/ittf__copy/docs/html/code_intro.html.ittf

    
1 html/layout( code, intro )
2 html/nav_sidebar()
3 section
4 id main-toc
5 class toc
6 h3 Contents:
7 ol
8 li
9 a Introduction
10 href #source-code
11 $foreach concept in docs.concepts
12 li
13 a ${concept.name}
14 href #${concept.id}
15 div
16 class main-content
17 h2 Source code
18 id source-code
19 . summary
20 $foreach line in docs.summaryLines
21 + ${line}
22 $foreach concept in docs.concepts
23 h2 ${concept.name}
24 id ${concept.id}
25 . summary
26 $foreach line in concept.summaryLines
27 + ${line}

/src/ittf/jobs/ittf__copy/docs/html/concepts.html.ittf

    
1 html/layout( concepts )
2 html/nav_sidebar()
3 $include html/concepts/toc
4 div
5 class main-content
6 $if docs.concepts && docs.concepts.length > 0
7 section
8 h1 Concepts
9 id concepts_title
10 . summary
11 $foreach line in docs.summaryLines
12 + ${line}
13 $foreach concept in docs.concepts
14 h2 ${concept.name}
15 id ${concept.id}
16 . summary
17 $foreach line in concept.summaryLines
18 + ${line}
19 $if docs.sampleGroups.length > 0
20 section
21 h1 Samples
22 article
23 $foreach sgroup in docs.sampleGroups
24 section
25 id ${sgroup.id}
26 h2 ${sgroup.name}
27 $foreach sample in sgroup.samples
28 div
29 id ${sample.id}
30 h3 ${sample.name}
31 . summary
32 $foreach line in sample.summaryLines
33 + ${line}
34 div
35 style clear:both;
36 div
37 b Example
38 div
39 style height: 250px; background-color: #000; padding: 5px;
40 div
41 style float:left; width:33%; border: 1px solid #555;
42 div Ittf documents
43 style color: yellow; padding: 5px;
44 div
45 style height: 200px;overflow:auto; margin:10px 9px 0;padding-right:2px
46 $include html/concepts/sample-treeview.html
47 div
48 style float:left; width:66%; border: 1px solid #555;
49 div
50 style padding: 5px;
51 span Selected: 
52 style color: yellow; padding: 5px;
53 span
54 id ${sample.id}-active-document
55 style color: #f00;
56 div
57 style height: 200px;overflow:auto; margin:10px 9px 0;padding-right:2px
58 $include html/concepts/sample-tabpages.html
59 div
60 style clear:both;

/src/ittf/jobs/ittf__copy/docs/html/contribs.html.ittf

    
1 html/layout( contribs )
2 . summary
3 $foreach line in docs.intro.summaryLines
4 + ${line}

/src/ittf/jobs/ittf__copy/docs/html/docs.html.ittf

    
1 html/layout( docs, ${docs.name} )
2 html/nav_sidebar()
3 $include html/docs/toc
4 div
5 class main-content
6 $foreach concept in docs.concepts
7 h2 ${concept.name}
8 id ${concept.id}
9 class concept
10 . summary
11 $foreach line in concept.summaryLines
12 + ${line}
13 section
14 $foreach section in docs.sections
15 h2 Package ${section.name}
16 $foreach concept in section.concepts
17 h2 ${concept.name}
18 id ${concept.id}
19 . summary
20 $foreach line in concept.summaryLines
21 + ${line}

/src/ittf/jobs/ittf__copy/docs/html/index.html.ittf

    
1 html/layout( index )
2 div
3 style margin-top: 50px;
4 . text-center bg-gray-light overflow-hidden
5 img
6 src mario sironi - 1920 - paesaggio urbano e camion - 1920.jpg
7 alt artistic factories
8 class hero-img
9 . py-6 bg-custom-gradient
10 . container text-center
11 h1
12 class text-beta
13 a
14 id build-your-app-on-githubs-platform
15 class anchor
16 href #build-your-app-on-githubs-platform
17 aria-hidden true
18 span
19 aria-hidden true
20 class octicon octicon-link
21 + Build your components with the wizzi factory
22 p Not sure where to start? We’ve put together some handy guides and reference documentation you can use to start building.
23 class lead text-center mb-6
24 a Learn more about the wizzi factory API
25 class btn btn-blue
26 href #
27 hr
28 class my-6
29 . container mb-4
30 . row clearfix
31 . col-xs-12 col-md-6 col-lg-8 pr-md-4
32 div Introduction to ...
33 class text-gamma
34 p Let's walk through the inner workings of ...
35 class mb-2
36 p
37 class mb-6
38 a Read the guide →
39 href #
40 class link-mono
41 div Forming ...
42 class text-gamma
43 p In this section, we're going to focus on how to ...
44 class mb-2
45 p
46 class mb-6
47 a Read the guide →
48 href #
49 class link-mono
50 div Migrating from ...
51 class text-gamma
52 p ...
53 class mb-2
54 p
55 class mb-6
56 a Read the guide →
57 href /v4/guides/migrating-from-rest
58 class link-mono
59 div Building ...
60 class text-gamma
61 p ...
62 class mb-2
63 p
64 class mb-6
65 a Read the docs →
66 href #
67 class link-mono

/src/ittf/jobs/ittf__copy/docs/html/labs.html.ittf

    
1 html/layout( labs )
2 html/nav_sidebar()
3 section
4 id main-toc
5 class toc
6 h3 Contents:
7 ol
8 $foreach object in docs.objects
9 li
10 a ${object.name}
11 href #${object.id}
12 div
13 class main-content
14 section
15 $foreach object in docs.objects
16 h2 ${object.name}
17 id ${object.id}
18 . summary
19 $foreach line in object.summaryLines
20 + ${line}

/src/ittf/jobs/ittf__copy/docs/html/project.html.ittf

    
1 html/layout( project )
2 html/nav_sidebar()
3 section
4 id main-toc
5 class toc
6 h3 Contents:
7 ol
8 $foreach roadmap in docs.project.roadmaps
9 li
10 a ${roadmap.name}
11 href #${roadmap.id}
12 li
13 a Current tasks
14 href #project-todos
15 li
16 a Issues
17 href #project-issues
18 div
19 class main-content
20 section
21 $foreach roadmap in docs.project.roadmaps
22 h2 ${roadmap.name}
23 id ${roadmap.id}
24 . summary
25 $foreach line in roadmap.summaryLines
26 + ${line}
27 $foreach milestone in roadmap.milestones
28 section
29 h3 ${milestone.name}
30 . summary
31 $foreach line in milestone.summaryLines
32 + ${line}
33 h2 Current tasks
34 id project-todos
35 table
36 class pretty-table
37 $foreach todo in docs.project.todos
38 tr
39 td
40 h4 ${todo.name}
41 . summary
42 $foreach line in todo.summaryLines
43 + ${line}
44 h2 Issues
45 id project-issues
46 table
47 class pretty-table
48 $foreach issue in docs.project.issues
49 tr
50 td
51 h4 ${issue.name}
52 . summary
53 $foreach line in issue.summaryLines
54 + ${line}

/src/ittf/jobs/ittf__copy/docs/html/specs.html.ittf

    
1 html/layout( specs )
2 html/nav_sidebar()
3 section
4 id main-toc
5 class toc
6 h3 Contents:
7 ol
8 $foreach object in docs.objects
9 li
10 a ${object.name}
11 href #${object.id}
12 div
13 class main-content
14 section
15 $foreach object in docs.objects
16 h2 ${object.name}
17 id ${object.id}
18 . summary
19 $foreach line in object.summaryLines
20 + ${line}

/src/ittf/jobs/ittf__copy/docs/html/starters.html.ittf

    
1 html/layout( starters )
2 html/nav_sidebar()
3 section
4 id main-toc
5 class toc
6 h3 Contents:
7 ol
8 $foreach object in docs.objects
9 li
10 a ${object.name}
11 href #${object.id}
12 div
13 class main-content
14 section
15 $foreach object in docs.objects
16 h2 ${object.name}
17 id ${object.id}
18 . summary
19 $foreach line in object.summaryLines
20 + ${line}

/src/ittf/jobs/ittf__copy/docs/code_intro.wfjob.ittf

    
1 wfjob wizzi-docs-code-intro
2 $
3 var models_folder = path.join(__dirname, 'models');
4 var html_folder = path.join(__dirname, 'html');
5 var css_folder = path.join(__dirname, 'css');
6 var js_folder = path.join(__dirname, 'js');
7 var images_folder = path.join(__dirname, 'images');
8 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io/code";
9 models-base-folder ${models_folder}
10 model code_intro
11 src code_intro.docs.ittf
12 schema docs
13 line html
14 cwd-folder ${html_folder}
15 wfjob/art-wo-html( code_intro.html.ittf )
16 dest-path intro
17 model-ref code_intro
18 transformer docs/preprint
19 production
20 dest-folder ${dest_folder}
21 line-ref html

/src/ittf/jobs/ittf__copy/docs/concepts.wfjob.ittf

    
1 ./section( concepts )

/src/ittf/jobs/ittf__copy/docs/contribs.wfjob.ittf

    
1 ./section( contribs )

/src/ittf/jobs/ittf__copy/docs/docs.wfjob.ittf

    
1 wfjob wizzi-docs-docs
2 $
3 var models_folder = path.join(__dirname, 'models');
4 var sections = ['intro', 'ittf', 'jswizzi', 'models', 'artifacts', 'jobs', 'plugins'];
5 var html_folder = path.join(__dirname, 'html');
6 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io/docs";
7 models-base-folder ${models_folder}
8 $foreach section in sections
9 model docs_${section}
10 src docs_${section}.docs.ittf
11 schema docs
12 line html
13 cwd-folder ${html_folder}
14 $foreach section in sections
15 wfjob/art-wo-html( docs.html.ittf )
16 dest-path ${section}
17 model-ref docs_${section}
18 transformer docs/preprint
19 production
20 dest-folder ${dest_folder}
21 line-ref html

/src/ittf/jobs/ittf__copy/docs/index.wfjob.ittf

    
1 ./section( index )

/src/ittf/jobs/ittf__copy/docs/labs.wfjob.ittf

    
1 ./section( labs )

/src/ittf/jobs/ittf__copy/docs/project.wfjob.ittf

    
1 ./section( project )

/src/ittf/jobs/ittf__copy/docs/schemas.wfjob.ittf

    
1 wfjob schemas
2 $
3 var ittf_html_folder = path.join(__dirname, 'html', 'schema');
4 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io/docs";
5 var packages = [
6 { name: 'wizzi-core', schemas: ['wfschema', 'wfjob'] },
7 { name: 'wizzi-meta', schemas: ['wfpackage'] }
8 /* { name: 'wizzi-docs', schemas: ['docs', 'md'] } */
9 ];
10 models-base-folder c:/my/wizzi/github
11 $foreach pkg in packages
12 $foreach schema in pkg.schemas
13 model ${schema}
14 src ${pkg.name}/lib/wizzi/models/${schema}-schema.g.json
15 format json
16 line one
17 cwd-folder ${ittf_html_folder}
18 dest-folder ${dest_folder}
19 $foreach pkg in packages
20 $foreach schema in pkg.schemas
21 artifact ${schema} html documentation
22 src wf-schema.html.ittf
23 schema html
24 generator html/document
25 dest-path ${schema}
26 extension html
27 model-ref ${schema}
28 export-name wfschema
29 production
30 dest-folder ${dest_folder}
31 line-ref one

/src/ittf/jobs/ittf__copy/docs/section.wfjob.ittf

    
1 wfjob wizzi-docs-${name}
2 $params name
3 $
4 var models_folder = "c:/my/wizzi/v4/demo/wizzi-documentation/src/ittf/models/docs";
5 var html_folder = path.join(__dirname, 'html');
6 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io";
7 models-base-folder ${models_folder}
8 model ${name}
9 src ${name}.docs.ittf
10 schema docs
11 line html
12 cwd-folder ${html_folder}
13 wfjob/art-wo-html( ${name}.html.ittf )
14 model-ref ${name}
15 transformer docs/preprint
16 production
17 dest-folder ${dest_folder}
18 line-ref html

/src/ittf/jobs/ittf__copy/docs/spa.wfjob.ittf

    
1 wfjob wizzi-docs-overview
2 $
3 var css_folder = path.join(__dirname, 'css');
4 var js_folder = path.join(__dirname, 'js');
5 var images_folder = path.join(__dirname, 'images');
6 var dest_folder = path.join(__dirname, 'result');
7 line js
8 cwd-folder ${js_folder}
9 wfjob/art-wo-js( wizzifactory.js.ittf )
10 line css
11 cwd-folder ${css_folder}
12 wfjob/art-wo-css( wizzifactory.css.ittf )
13 line images
14 cwd-folder ${images_folder}
15 $include wfjob/any_plain_svg
16 production
17 dest-folder ${dest_folder}
18 line-ref js
19 line-ref css
20 line-ref images

/src/ittf/jobs/ittf__copy/docs/specs.wfjob.ittf

    
1 ./section( specs )

/src/ittf/jobs/ittf__copy/docs/starters.wfjob.ittf

    
1 ./section( starters )

/src/ittf/jobs/ittf__copy/site/site/t/css/__examples/github.css.ittf

    
1 css
2 font-face
3 font-family Roboto
4 font-style normal
5 font-weight 300
6 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff")
7 font-face
8 font-family Roboto
9 font-style normal
10 font-weight 400
11 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff")
12 font-face
13 font-family Roboto
14 font-style normal
15 font-weight 500
16 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff")
17 font-face
18 font-family Roboto
19 font-style italic
20 font-weight 400
21 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff")
22 font-face
23 font-family Roboto
24 font-style normal
25 font-weight 300
26 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff")
27 font-face
28 font-family Roboto
29 font-style normal
30 font-weight 400
31 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff")
32 font-face
33 font-family Roboto
34 font-style normal
35 font-weight 500
36 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff")
37 font-face
38 font-family Roboto
39 font-style italic
40 font-weight 400
41 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff")
42 . alt-body-font
43 font-family Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Oxygen,Ubuntu,Cantarell,"Open Sans",sans-serif
44 font-size 16px
45 . alt-mono-font
46 font-family Consolas,"Liberation Mono",Menlo,Courier,monospace
47 font-size 16px
48 . alt-h1
49 + .alt-h2
50 + .alt-h3
51 + .alt-h4
52 + .alt-h5
53 + .alt-h6
54 + .alt-lead
55 -webkit-font-smoothing antialiased
56 font-family Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Oxygen,Ubuntu,Cantarell,"Open Sans",sans-serif
57 . alt-h1
58 font-size 36px
59 media (min-width:768px)
60 . alt-h1
61 font-size 48px
62 media (min-width:1012px)
63 . alt-h1
64 font-size 54px
65 . alt-h2
66 font-size 28px
67 media (min-width:768px)
68 . alt-h2
69 font-size 34px
70 media (min-width:1012px)
71 . alt-h2
72 font-size 38px
73 . alt-h3
74 font-size 18px
75 font-weight 400
76 . alt-h4
77 + .alt-h5
78 + .alt-h6
79 font-weight 500
80 media (min-width:768px)
81 . alt-h3
82 font-size 20px
83 media (min-width:1012px)
84 . alt-h3
85 font-size 22px
86 . alt-h4
87 font-size 16px
88 . alt-h5
89 font-size 14px
90 . alt-h6
91 font-size 12px
92 . alt-lead
93 -webkit-font-smoothing antialiased
94 font-size 21px
95 font-weight 300
96 media (min-width:768px)
97 . alt-lead
98 font-size 24px
99 media (min-width:1012px)
100 . alt-lead
101 font-size 26px
102 . alt-text-small
103 font-size 14px!important
104 . pullquote
105 padding-top 0
106 padding-bottom 0
107 padding-left 8px
108 margin-bottom 24px
109 font-family Consolas,"Liberation Mono",Menlo,Courier,monospace
110 font-size 16px
111 line-height 1.4
112 color #767676
113 border-left 3px solid #e5e5e5
114 media (min-width:768px)
115 . pullquote
116 padding-left 12px
117 margin-bottom 32px
118 margin-left -15px
119 font-size 18px
120 line-height 1.5
121 < address
122 + dl
123 + ol
124 + p
125 + pre
126 + ul
127 margin-bottom 1rem
128 < h1
129 + h2
130 + h3
131 + h4
132 + h5
133 + h6
134 + label
135 + legend
136 margin-bottom .5rem
137 < address
138 + legend
139 line-height inherit
140 font-face
141 font-family Roboto
142 font-style normal
143 font-weight 300
144 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff")
145 font-face
146 font-family Roboto
147 font-style normal
148 font-weight 400
149 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff")
150 font-face
151 font-family Roboto
152 font-style normal
153 font-weight 500
154 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff")
155 font-face
156 font-family Roboto
157 font-style italic
158 font-weight 400
159 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff")
160 . breadcrumb-item
161 display inline-block
162 margin-left -4px
163 white-space nowrap
164 list-style none
165 . breadcrumb-item::after
166 padding-right .5em
167 padding-left .5em
168 color #e5e5e5
169 content "/"
170 . breadcrumb-item-selected::after
171 content none
172 font-face
173 font-family Roboto
174 font-style normal
175 font-weight 300
176 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff")
177 font-face
178 font-family Roboto
179 font-style normal
180 font-weight 400
181 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff")
182 font-face
183 font-family Roboto
184 font-style normal
185 font-weight 500
186 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff")
187 font-face
188 font-family Roboto
189 font-style italic
190 font-weight 400
191 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff")
192 . card
193 background-color #fff
194 font-face
195 font-family Roboto
196 font-style normal
197 font-weight 300
198 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff")
199 font-face
200 font-family Roboto
201 font-style normal
202 font-weight 400
203 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff")
204 font-face
205 font-family Roboto
206 font-style normal
207 font-weight 500
208 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff")
209 font-face
210 font-family Roboto
211 font-style italic
212 font-weight 400
213 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff")
214 media (min-width:544px)
215 . jumbotron
216 padding-top 60px
217 padding-bottom 60px
218 media (min-width:1280px)
219 . jumbotron
220 padding-top 120px
221 padding-bottom 120px
222 media (min-width:1012px)
223 . jumbotron-supertron
224 height 45vw
225 min-height 590px
226 max-height 55vh
227 padding-top 80px
228 padding-bottom 80px
229 . jumbotron-minitron
230 padding-top 24px
231 padding-bottom 24px
232 media (min-width:544px)
233 . jumbotron-minitron
234 padding-top 32px
235 padding-bottom 32px
236 . jumbotron-shadow::after
237 position absolute
238 bottom 0
239 left 0
240 width 100%
241 height 30px
242 content " "
243 background-color transparent
244 background-image linear-gradient(transparent,rgba(0,0,0,.05))
245 background-repeat repeat-x
246 box-shadow inset 0 -1px 0 rgba(0,0,0,.05)
247 . jumbotron-photo
248 position relative
249 background-color #333
250 background-size cover
251 . jumbotron-photo::before
252 position absolute
253 bottom 0
254 left 0
255 display block
256 width 100%
257 height 100%
258 content ""
259 background-color rgba(0,0,0,.25)
260 < label
261 + output
262 display inline-block
263 < body
264 + table
265 background-color #fff
266 font-face
267 font-family Roboto
268 font-style normal
269 font-weight 300
270 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff")
271 font-face
272 font-family Roboto
273 font-style normal
274 font-weight 400
275 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff")
276 font-face
277 font-family Roboto
278 font-style normal
279 font-weight 500
280 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff")
281 font-face
282 font-family Roboto
283 font-style italic
284 font-weight 400
285 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff")
286 media (min-width:768px)
287 . page-section
288 padding 56px 0
289 . page-section-jumplink:target
290 padding-top 112px
291 font-face
292 font-family Roboto
293 font-style normal
294 font-weight 300
295 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff")
296 font-face
297 font-family Roboto
298 font-style normal
299 font-weight 400
300 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff")
301 font-face
302 font-family Roboto
303 font-style normal
304 font-weight 500
305 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff")
306 font-face
307 font-family Roboto
308 font-style italic
309 font-weight 400
310 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff")
311 . data-table tbody td
312 + .data-table tbody th
313 border-bottom-color #e5e5e5
314 . data-table tbody tr:last-child td
315 + .data-table tbody tr:last-child th
316 border-bottom 1px #e5e5e5 solid
317 < [class*=container]
318 width 100%
319 padding-left 20px
320 padding-right 20px
321 . container
322 max-width 1020px
323 . container-narrow
324 max-width 760px
325 . container-wide
326 max-width 1260px
327 . gut-1
328 margin-right -4px
329 margin-left -4px
330 . gut-1>[class*=col-]
331 padding-right 4px!important
332 padding-left 4px!important
333 . gut-2
334 margin-right -8px
335 margin-left -8px
336 . gut-2>[class*=col-]
337 padding-right 8px!important
338 padding-left 8px!important
339 . gut-3
340 margin-right -16px
341 margin-left -16px
342 . gut-3>[class*=col-]
343 padding-right 16px!important
344 padding-left 16px!important
345 . col-right
346 float right!important
347 . col-1
348 + .col-10
349 + .col-11
350 + .col-12
351 + .col-2
352 + .col-3
353 + .col-4
354 + .col-5
355 + .col-6
356 + .col-8
357 + .col-9
358 + .pagination a
359 + .pagination em
360 + .pagination>span
361 float left
362 . col-1
363 width calc(1/12 * 100%)
364 . col-2
365 width calc(2/12 * 100%)
366 . col-3
367 width calc(3/12 * 100%)
368 . col-4
369 width calc(4/12 * 100%)
370 . col-5
371 width calc(5/12 * 100%)
372 . col-6
373 width calc(6/12 * 100%)
374 . col-7
375 width calc(7/12 * 100%)
376 float left
377 . col-8
378 width calc(8/12 * 100%)
379 . col-9
380 width calc(9/12 * 100%)
381 . col-10
382 width calc(10/12 * 100%)
383 . col-11
384 width calc(11/12 * 100%)
385 media (min-width:544px)
386 . col-sm-1
387 width calc(1/12 * 100%)
388 float left
389 . col-sm-2
390 width calc(2/12 * 100%)
391 float left
392 . col-sm-3
393 width calc(3/12 * 100%)
394 float left
395 . col-sm-4
396 width calc(4/12 * 100%)
397 float left
398 . col-sm-5
399 width calc(5/12 * 100%)
400 float left
401 . col-sm-6
402 width calc(6/12 * 100%)
403 float left
404 . col-sm-7
405 width calc(7/12 * 100%)
406 float left
407 . col-sm-8
408 width calc(8/12 * 100%)
409 float left
410 . col-sm-9
411 width calc(9/12 * 100%)
412 float left
413 . col-sm-10
414 width calc(10/12 * 100%)
415 float left
416 . col-sm-11
417 width calc(11/12 * 100%)
418 float left
419 . col-sm-12
420 width 100%
421 float left
422 media (min-width:768px)
423 . page-section-jumplink:target
424 padding-top 80px
425 . col-md-1
426 width calc(1/12 * 100%)
427 float left
428 . col-md-2
429 width calc(2/12 * 100%)
430 float left
431 . col-md-3
432 width calc(3/12 * 100%)
433 float left
434 . col-md-4
435 width calc(4/12 * 100%)
436 float left
437 . col-md-5
438 width calc(5/12 * 100%)
439 float left
440 . col-md-6
441 width calc(6/12 * 100%)
442 float left
443 . col-md-7
444 width calc(7/12 * 100%)
445 float left
446 . col-md-8
447 width calc(8/12 * 100%)
448 float left
449 . col-md-9
450 width calc(9/12 * 100%)
451 float left
452 . col-md-10
453 width calc(10/12 * 100%)
454 float left
455 . col-md-11
456 width calc(11/12 * 100%)
457 float left
458 . col-md-12
459 width 100%
460 float left
461 . offset-1
462 margin-left calc(1/12 * 100%)
463 . offset-2
464 margin-left calc(2/12 * 100%)
465 . offset-3
466 margin-left calc(3/12 * 100%)
467 . offset-4
468 margin-left calc(4/12 * 100%)
469 . offset-5
470 margin-left calc(5/12 * 100%)
471 . offset-6
472 margin-left calc(6/12 * 100%)
473 . offset-7
474 margin-left calc(7/12 * 100%)
475 . offset-8
476 margin-left calc(8/12 * 100%)
477 . offset-9
478 margin-left calc(9/12 * 100%)
479 . offset-10
480 margin-left calc(10/12 * 100%)
481 . offset-11
482 margin-left calc(11/12 * 100%)
483 media (min-width:544px)
484 . offset-sm-1
485 margin-left calc(1/12 * 100%)
486 . offset-sm-2
487 margin-left calc(2/12 * 100%)
488 . offset-sm-3
489 margin-left calc(3/12 * 100%)
490 . offset-sm-4
491 margin-left calc(4/12 * 100%)
492 . offset-sm-5
493 margin-left calc(5/12 * 100%)
494 . offset-sm-6
495 margin-left calc(6/12 * 100%)
496 . offset-sm-7
497 margin-left calc(7/12 * 100%)
498 . offset-sm-8
499 margin-left calc(8/12 * 100%)
500 . offset-sm-9
501 margin-left calc(9/12 * 100%)
502 . offset-sm-10
503 margin-left calc(10/12 * 100%)
504 . offset-sm-11
505 margin-left calc(11/12 * 100%)
506 media (min-width:768px)
507 . offset-md-1
508 margin-left calc(1/12 * 100%)
509 . offset-md-2
510 margin-left calc(2/12 * 100%)
511 . offset-md-3
512 margin-left calc(3/12 * 100%)
513 . offset-md-4
514 margin-left calc(4/12 * 100%)
515 . offset-md-5
516 margin-left calc(5/12 * 100%)
517 . offset-md-6
518 margin-left calc(6/12 * 100%)
519 . offset-md-7
520 margin-left calc(7/12 * 100%)
521 . offset-md-8
522 margin-left calc(8/12 * 100%)
523 . offset-md-9
524 margin-left calc(9/12 * 100%)
525 . offset-md-10
526 margin-left calc(10/12 * 100%)
527 . offset-md-11
528 margin-left calc(11/12 * 100%)
529 media (min-width:1012px)
530 . col-lg-1
531 width calc(1/12 * 100%)
532 float left
533 . col-lg-2
534 width calc(2/12 * 100%)
535 float left
536 . col-lg-3
537 width calc(3/12 * 100%)
538 float left
539 . col-lg-4
540 width calc(4/12 * 100%)
541 float left
542 . col-lg-5
543 width calc(5/12 * 100%)
544 float left
545 . col-lg-6
546 width calc(6/12 * 100%)
547 float left
548 . col-lg-7
549 width calc(7/12 * 100%)
550 float left
551 . col-lg-8
552 width calc(8/12 * 100%)
553 float left
554 . col-lg-9
555 width calc(9/12 * 100%)
556 float left
557 . col-lg-10
558 width calc(10/12 * 100%)
559 float left
560 . col-lg-11
561 width calc(11/12 * 100%)
562 float left
563 . col-lg-12
564 width 100%
565 float left
566 . offset-lg-1
567 margin-left calc(1/12 * 100%)
568 . offset-lg-2
569 margin-left calc(2/12 * 100%)
570 . offset-lg-3
571 margin-left calc(3/12 * 100%)
572 . offset-lg-4
573 margin-left calc(4/12 * 100%)
574 . offset-lg-5
575 margin-left calc(5/12 * 100%)
576 . offset-lg-6
577 margin-left calc(6/12 * 100%)
578 . offset-lg-7
579 margin-left calc(7/12 * 100%)
580 . offset-lg-8
581 margin-left calc(8/12 * 100%)
582 . offset-lg-9
583 margin-left calc(9/12 * 100%)
584 . offset-lg-10
585 margin-left calc(10/12 * 100%)
586 . offset-lg-11
587 margin-left calc(11/12 * 100%)
588 media (min-width:1280px)
589 . col-xl-1
590 width calc(1/12 * 100%)
591 float left
592 . col-xl-2
593 width calc(2/12 * 100%)
594 float left
595 . col-xl-3
596 width calc(3/12 * 100%)
597 float left
598 . col-xl-4
599 width calc(4/12 * 100%)
600 float left
601 . col-xl-5
602 width calc(5/12 * 100%)
603 float left
604 . col-xl-6
605 width calc(6/12 * 100%)
606 float left
607 . col-xl-7
608 width calc(7/12 * 100%)
609 float left
610 . col-xl-8
611 width calc(8/12 * 100%)
612 float left
613 . col-xl-9
614 width calc(9/12 * 100%)
615 float left
616 . col-xl-10
617 width calc(10/12 * 100%)
618 float left
619 . col-xl-11
620 width calc(11/12 * 100%)
621 float left
622 . col-xl-12
623 width 100%
624 float left
625 . offset-xl-1
626 margin-left calc(1/12 * 100%)
627 . offset-xl-2
628 margin-left calc(2/12 * 100%)
629 . offset-xl-3
630 margin-left calc(3/12 * 100%)
631 . offset-xl-4
632 margin-left calc(4/12 * 100%)
633 . offset-xl-5
634 margin-left calc(5/12 * 100%)
635 . offset-xl-6
636 margin-left calc(6/12 * 100%)
637 . offset-xl-7
638 margin-left calc(7/12 * 100%)
639 . offset-xl-8
640 margin-left calc(8/12 * 100%)
641 . offset-xl-9
642 margin-left calc(9/12 * 100%)
643 . offset-xl-10
644 margin-left calc(10/12 * 100%)
645 . offset-xl-11
646 margin-left calc(11/12 * 100%)
647 < dd
648 + dl
649 + ol
650 + ul
651 margin-left 0
652 < html
653 box-sizing border-box
654 font-size 16px
655 -ms-overflow-style scrollbar
656 -webkit-tap-highlight-color transparent
657 < *
658 + ::after
659 + ::before
660 box-sizing inherit
661 < @-ms-viewport
662 width device-width
663 < [tabindex="-1"]:focus
664 outline 0!important
665 < abbr[data-original-title]
666 + abbr[title]
667 cursor help
668 border-bottom 1px dotted #e5e5e5
669 . btn
670 + [role=button]
671 cursor pointer
672 < address
673 font-style normal
674 < dl
675 + ol
676 + ul
677 padding-left 1.5em
678 . list-inline
679 + .list-unstyled
680 padding-left 0
681 < ol ol
682 + ol ul
683 + ul ol
684 + ul ul
685 margin-bottom 0
686 < figure
687 margin 0 0 1rem
688 < img
689 vertical-align middle
690 < [role=button]
691 + a
692 + area
693 + button
694 + input
695 + label
696 + select
697 + summary
698 + textarea
699 -ms-touch-action manipulation
700 touch-action manipulation
701 < caption
702 padding-top 16px
703 padding-bottom 16px
704 color #aaa
705 caption-side bottom
706 < button:focus
707 outline dotted 1px
708 outline -webkit-focus-ring-color auto 5px
709 < button
710 + input
711 + select
712 + textarea
713 margin 0
714 line-height inherit
715 border-radius 0
716 < fieldset
717 min-width 0
718 padding 0
719 margin 0
720 border 0
721 < legend
722 display block
723 width 100%
724 padding 0
725 font-size 1.5rem
726 < [hidden]
727 display none!important
728 . vertically-centered
729 display table
730 table-layout fixed
731 . vertically-centered.columns-reverse
732 direction rtl
733 . vertically-centered [class*=col-]
734 text-align left
735 direction ltr
736 media (min-width:544px)
737 . vertically-centered [class*=col-sm]
738 display table-cell
739 float none
740 vertical-align middle
741 < body
742 font-family -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"
743 font-size 16px
744 line-height 1.5
745 color #767676
746 . text-alpha
747 + .text-beta
748 + h1
749 + h2
750 font-weight 300
751 line-height 1.2
752 . text-alpha
753 + h1
754 font-size 36px
755 media (min-width:768px)
756 . vertically-centered [class*=col-md]
757 display table-cell
758 float none
759 vertical-align middle
760 . text-alpha
761 + h1
762 font-size 48px
763 media (min-width:1012px)
764 . text-alpha
765 + h1
766 font-size 54px
767 . text-beta
768 + h2
769 font-size 28px
770 media (min-width:768px)
771 . text-beta
772 + h2
773 font-size 34px
774 media (min-width:1012px)
775 . text-beta
776 + h2
777 font-size 38px
778 . text-gamma
779 + h3
780 font-size 18px
781 font-weight 400
782 line-height 1.4
783 media (min-width:768px)
784 . text-gamma
785 + h3
786 font-size 20px
787 media (min-width:1012px)
788 . text-gamma
789 + h3
790 font-size 22px
791 . text-delta
792 + h4
793 font-size 16px
794 font-weight 500
795 line-height 1.4
796 . text-alpha
797 + .text-beta
798 + .text-delta
799 + .text-gamma
800 + h1
801 + h2
802 + h3
803 + h4
804 + h5
805 margin-top 0
806 margin-bottom .45em
807 color #3c4146
808 -webkit-font-smoothing antialiased
809 . lead
810 font-size 20px
811 font-weight 300
812 line-height 1.5
813 color #767676
814 -webkit-font-smoothing antialiased
815 media (min-width:768px)
816 . lead
817 font-size 24px
818 media (min-width:1012px)
819 . lead
820 font-size 26px
821 . checklist
822 list-style none
823 . checklist li
824 position relative
825 . checklist li::before
826 position absolute
827 top 0
828 left -18px
829 width 12px
830 height 12px
831 content url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.29 15"><path d="M19.29,2.37L6.43,15,0,8.68,2.41,6.32l4,3.95L16.88,0Z" fill="#aaa"/></svg>')
832 . checklist-theme li::before
833 content url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.29 15"><path d="M19.29,2.37L6.43,15,0,8.68,2.41,6.32l4,3.95L16.88,0Z" fill="#0079d1"/></svg>')
834 . list-inline
835 list-style none
836 . list-inline li
837 display inline
838 . list-unstyled li
839 list-style none
840 < hr
841 margin 16px 0
842 border-right 0
843 border-bottom 1px solid #e5e5e5
844 border-left 0
845 . border-top
846 + .border-y
847 border-top 1px solid #e5e5e5!important
848 . border-bottom
849 + .border-y
850 border-bottom 1px solid #e5e5e5!important
851 < blockquote
852 padding-left 16px
853 font-family Consolas,"Liberation Mono",Menlo,Courier,monospace
854 font-size 16px
855 border-left 4px solid #e5e5e5
856 media (min-width:768px)
857 < hr
858 margin 32px 0
859 < blockquote
860 margin-left -20px
861 font-size 18px
862 . blockquote-alt
863 padding-left 0
864 margin-left 0
865 border-left 0
866 . blockquote-alt::before
867 display block
868 width 20px
869 height 25px
870 margin-bottom -28px
871 margin-left -25px
872 content ""
873 background url(images/chevron-right.svg) no-repeat
874 background-size 60px 60px
875 . blockquote-credit
876 display block
877 margin-top 16px
878 font-family -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"
879 font-style normal
880 . blockquote-credit::before
881 content "— "
882 . border
883 border 1px solid #e5e5e5!important
884 . border-right
885 border-right 1px solid #e5e5e5!important
886 . border-left
887 border-left 1px solid #e5e5e5!important
888 . border-blue
889 border-color #c5d5dd!important
890 . border-gray-light
891 border-color #eee!important
892 . border-gray-dark
893 border-color #ddd!important
894 . border-0
895 border 0!important
896 . border-top-0
897 border-top 0!important
898 . border-right-0
899 border-right 0!important
900 . border-bottom-0
901 border-bottom 0!important
902 . border-left-0
903 border-left 0!important
904 . rounded-0
905 border-radius 0!important
906 . rounded-1
907 border-radius 6px!important
908 . rounded-2
909 border-radius 12px!important
910 . rounded-top
911 border-top-left-radius 6px!important
912 border-top-right-radius 6px!important
913 . rounded-bottom
914 border-bottom-right-radius 6px!important
915 border-bottom-left-radius 6px!important
916 . link-white
917 color #fff
918 opacity .7
919 . link-white:hover
920 opacity .8
921 . link-muted
922 color #767676
923 . link-muted:hover
924 color #3c4146
925 . bg-white
926 background #fff!important
927 . bg-black
928 background #3c4146!important
929 . bg-gray-light
930 background #f5f5f5!important
931 . bg-theme-color
932 background #0079d1!important
933 . position-static
934 position static!important
935 . position-relative
936 position relative!important
937 . position-absolute
938 position absolute!important
939 . position-fixed
940 position fixed!important
941 . top-0
942 top 0!important
943 . right-0
944 right 0!important
945 . bottom-0
946 bottom 0!important
947 . left-0
948 left 0!important
949 . d-block
950 display block!important
951 . d-inline
952 display inline!important
953 . d-inline-block
954 display inline-block!important
955 . d-table
956 display table!important
957 . d-table-cell
958 display table-cell!important
959 . d-none
960 + .hidden
961 display none!important
962 media (min-width:544px)
963 . d-sm-block
964 display block!important
965 . d-sm-inline
966 display inline!important
967 . d-sm-inline-block
968 display inline-block!important
969 . d-sm-table
970 display table!important
971 . d-sm-table-cell
972 display table-cell!important
973 . d-sm-none
974 display none!important
975 . float-sm-right
976 float right!important
977 media (min-width:768px)
978 . d-md-block
979 display block!important
980 . d-md-inline
981 display inline!important
982 . d-md-inline-block
983 display inline-block!important
984 . d-md-table
985 display table!important
986 . d-md-table-cell
987 display table-cell!important
988 . d-md-none
989 display none!important
990 . float-md-right
991 float right!important
992 media (min-width:1012px)
993 . d-lg-block
994 display block!important
995 . d-lg-inline
996 display inline!important
997 . d-lg-inline-block
998 display inline-block!important
999 . d-lg-table
1000 display table!important
1001 . d-lg-table-cell
1002 display table-cell!important
1003 . d-lg-none
1004 display none!important
1005 . float-lg-right
1006 float right!important
1007 media (min-width:1280px)
1008 . d-xl-block
1009 display block!important
1010 . d-xl-inline
1011 display inline!important
1012 . d-xl-inline-block
1013 display inline-block!important
1014 . d-xl-table
1015 display table!important
1016 . d-xl-table-cell
1017 display table-cell!important
1018 . d-xl-none
1019 display none!important
1020 . float-xl-right
1021 float right!important
1022 . overflow-hidden
1023 overflow hidden!important
1024 . overflow-scroll
1025 overflow scroll!important
1026 . overflow-auto
1027 overflow auto!important
1028 . v-align-top
1029 vertical-align top!important
1030 . v-align-middle
1031 vertical-align middle!important
1032 . btn
1033 + .published span
1034 vertical-align middle
1035 . ws-normal
1036 white-space normal!important
1037 . ws-nowrap
1038 white-space nowrap!important
1039 . breadcrumb li
1040 + .btn
1041 + .btn-link
1042 + .meta li
1043 + code
1044 white-space nowrap
1045 . clearfix::after
1046 display table
1047 . float-right
1048 + .right
1049 float right!important
1050 . float-left
1051 + .left
1052 float left!important
1053 . visually-hidden
1054 position absolute
1055 width 1px
1056 height 1px
1057 padding 0
1058 margin -1px
1059 overflow hidden
1060 clip rect(0 0 0 0)
1061 border 0
1062 . pr-0
1063 + .px-0
1064 padding-right 0!important
1065 . pl-0
1066 + .px-0
1067 padding-left 0!important
1068 . pt-0
1069 + .py-0
1070 padding-top 0!important
1071 . pb-0
1072 + .py-0
1073 padding-bottom 0!important
1074 . visually-hidden.focusable:active
1075 + .visually-hidden.focusable:focus
1076 position static
1077 width auto
1078 height auto
1079 margin 0
1080 overflow visible
1081 clip auto
1082 . mt-0
1083 + .my-0
1084 margin-top 0!important
1085 . mb-0
1086 + .my-0
1087 margin-bottom 0!important
1088 . mx-auto
1089 margin-right auto!important
1090 margin-left auto!important
1091 . mr-0
1092 + .mx-0
1093 margin-right 0!important
1094 . ml-0
1095 + .mx-0
1096 margin-left 0!important
1097 . m-0
1098 margin 0!important
1099 . mr-1
1100 + .mx-1
1101 margin-right 4px!important
1102 . ml-1
1103 + .mx-1
1104 margin-left 4px!important
1105 . mt-1
1106 + .my-1
1107 margin-top 4px!important
1108 . mb-1
1109 + .my-1
1110 margin-bottom 4px!important
1111 . m-1
1112 margin 4px!important
1113 . mr-2
1114 + .mx-2
1115 margin-right 8px!important
1116 . ml-2
1117 + .mx-2
1118 margin-left 8px!important
1119 . mt-2
1120 + .my-2
1121 margin-top 8px!important
1122 . mb-2
1123 + .my-2
1124 margin-bottom 8px!important
1125 . m-2
1126 margin 8px!important
1127 . mr-3
1128 + .mx-3
1129 margin-right 16px!important
1130 . ml-3
1131 + .mx-3
1132 margin-left 16px!important
1133 . mt-3
1134 + .my-3
1135 margin-top 16px!important
1136 . mb-3
1137 + .my-3
1138 margin-bottom 16px!important
1139 . m-3
1140 margin 16px!important
1141 . mr-4
1142 + .mx-4
1143 margin-right 32px!important
1144 . ml-4
1145 + .mx-4
1146 margin-left 32px!important
1147 . mt-4
1148 + .my-4
1149 margin-top 32px!important
1150 . mb-4
1151 + .my-4
1152 margin-bottom 32px!important
1153 . m-4
1154 margin 32px!important
1155 . mr-5
1156 + .mx-5
1157 margin-right 48px!important
1158 . ml-5
1159 + .mx-5
1160 margin-left 48px!important
1161 . mt-5
1162 + .my-5
1163 margin-top 48px!important
1164 . mb-5
1165 + .my-5
1166 margin-bottom 48px!important
1167 . m-5
1168 margin 48px!important
1169 . mr-6
1170 + .mx-6
1171 margin-right 64px!important
1172 . ml-6
1173 + .mx-6
1174 margin-left 64px!important
1175 . mt-6
1176 + .my-6
1177 margin-top 64px!important
1178 . mb-6
1179 + .my-6
1180 margin-bottom 64px!important
1181 . m-6
1182 margin 64px!important
1183 . mr-7
1184 + .mx-7
1185 margin-right 80px!important
1186 . ml-7
1187 + .mx-7
1188 margin-left 80px!important
1189 . mt-7
1190 + .my-7
1191 margin-top 80px!important
1192 . mb-7
1193 + .my-7
1194 margin-bottom 80px!important
1195 . m-7
1196 margin 80px!important
1197 . mr-8
1198 + .mx-8
1199 margin-right 96px!important
1200 . ml-8
1201 + .mx-8
1202 margin-left 96px!important
1203 . mt-8
1204 + .my-8
1205 margin-top 96px!important
1206 . mb-8
1207 + .my-8
1208 margin-bottom 96px!important
1209 . m-8
1210 margin 96px!important
1211 . mr-9
1212 + .mx-9
1213 margin-right 112px!important
1214 . ml-9
1215 + .mx-9
1216 margin-left 112px!important
1217 . mt-9
1218 + .my-9
1219 margin-top 112px!important
1220 . mb-9
1221 + .my-9
1222 margin-bottom 112px!important
1223 . m-9
1224 margin 112px!important
1225 media (min-width:544px)
1226 . float-sm-left
1227 float left!important
1228 . mr-sm-0
1229 + .mx-sm-0
1230 margin-right 0!important
1231 . ml-sm-0
1232 + .mx-sm-0
1233 margin-left 0!important
1234 . mt-sm-0
1235 + .my-sm-0
1236 margin-top 0!important
1237 . mb-sm-0
1238 + .my-sm-0
1239 margin-bottom 0!important
1240 . m-sm-0
1241 margin 0!important
1242 . mr-sm-1
1243 + .mx-sm-1
1244 margin-right 4px!important
1245 . ml-sm-1
1246 + .mx-sm-1
1247 margin-left 4px!important
1248 . mt-sm-1
1249 + .my-sm-1
1250 margin-top 4px!important
1251 . mb-sm-1
1252 + .my-sm-1
1253 margin-bottom 4px!important
1254 . m-sm-1
1255 margin 4px!important
1256 . mr-sm-2
1257 + .mx-sm-2
1258 margin-right 8px!important
1259 . ml-sm-2
1260 + .mx-sm-2
1261 margin-left 8px!important
1262 . mt-sm-2
1263 + .my-sm-2
1264 margin-top 8px!important
1265 . mb-sm-2
1266 + .my-sm-2
1267 margin-bottom 8px!important
1268 . m-sm-2
1269 margin 8px!important
1270 . mr-sm-3
1271 + .mx-sm-3
1272 margin-right 16px!important
1273 . ml-sm-3
1274 + .mx-sm-3
1275 margin-left 16px!important
1276 . mt-sm-3
1277 + .my-sm-3
1278 margin-top 16px!important
1279 . mb-sm-3
1280 + .my-sm-3
1281 margin-bottom 16px!important
1282 . m-sm-3
1283 margin 16px!important
1284 . mr-sm-4
1285 + .mx-sm-4
1286 margin-right 32px!important
1287 . ml-sm-4
1288 + .mx-sm-4
1289 margin-left 32px!important
1290 . mt-sm-4
1291 + .my-sm-4
1292 margin-top 32px!important
1293 . mb-sm-4
1294 + .my-sm-4
1295 margin-bottom 32px!important
1296 . m-sm-4
1297 margin 32px!important
1298 . mr-sm-5
1299 + .mx-sm-5
1300 margin-right 48px!important
1301 . ml-sm-5
1302 + .mx-sm-5
1303 margin-left 48px!important
1304 . mt-sm-5
1305 + .my-sm-5
1306 margin-top 48px!important
1307 . mb-sm-5
1308 + .my-sm-5
1309 margin-bottom 48px!important
1310 . m-sm-5
1311 margin 48px!important
1312 . mr-sm-6
1313 + .mx-sm-6
1314 margin-right 64px!important
1315 . ml-sm-6
1316 + .mx-sm-6
1317 margin-left 64px!important
1318 . mt-sm-6
1319 + .my-sm-6
1320 margin-top 64px!important
1321 . mb-sm-6
1322 + .my-sm-6
1323 margin-bottom 64px!important
1324 . m-sm-6
1325 margin 64px!important
1326 . mr-sm-7
1327 + .mx-sm-7
1328 margin-right 80px!important
1329 . ml-sm-7
1330 + .mx-sm-7
1331 margin-left 80px!important
1332 . mt-sm-7
1333 + .my-sm-7
1334 margin-top 80px!important
1335 . mb-sm-7
1336 + .my-sm-7
1337 margin-bottom 80px!important
1338 . m-sm-7
1339 margin 80px!important
1340 . mr-sm-8
1341 + .mx-sm-8
1342 margin-right 96px!important
1343 . ml-sm-8
1344 + .mx-sm-8
1345 margin-left 96px!important
1346 . mt-sm-8
1347 + .my-sm-8
1348 margin-top 96px!important
1349 . mb-sm-8
1350 + .my-sm-8
1351 margin-bottom 96px!important
1352 . m-sm-8
1353 margin 96px!important
1354 . mr-sm-9
1355 + .mx-sm-9
1356 margin-right 112px!important
1357 . ml-sm-9
1358 + .mx-sm-9
1359 margin-left 112px!important
1360 . mt-sm-9
1361 + .my-sm-9
1362 margin-top 112px!important
1363 . mb-sm-9
1364 + .my-sm-9
1365 margin-bottom 112px!important
1366 . m-sm-9
1367 margin 112px!important
1368 media (min-width:768px)
1369 . float-md-left
1370 float left!important
1371 . mr-md-0
1372 + .mx-md-0
1373 margin-right 0!important
1374 . ml-md-0
1375 + .mx-md-0
1376 margin-left 0!important
1377 . mt-md-0
1378 + .my-md-0
1379 margin-top 0!important
1380 . mb-md-0
1381 + .my-md-0
1382 margin-bottom 0!important
1383 . m-md-0
1384 margin 0!important
1385 . mr-md-1
1386 + .mx-md-1
1387 margin-right 4px!important
1388 . ml-md-1
1389 + .mx-md-1
1390 margin-left 4px!important
1391 . mt-md-1
1392 + .my-md-1
1393 margin-top 4px!important
1394 . mb-md-1
1395 + .my-md-1
1396 margin-bottom 4px!important
1397 . m-md-1
1398 margin 4px!important
1399 . mr-md-2
1400 + .mx-md-2
1401 margin-right 8px!important
1402 . ml-md-2
1403 + .mx-md-2
1404 margin-left 8px!important
1405 . mt-md-2
1406 + .my-md-2
1407 margin-top 8px!important
1408 . mb-md-2
1409 + .my-md-2
1410 margin-bottom 8px!important
1411 . m-md-2
1412 margin 8px!important
1413 . mr-md-3
1414 + .mx-md-3
1415 margin-right 16px!important
1416 . ml-md-3
1417 + .mx-md-3
1418 margin-left 16px!important
1419 . mt-md-3
1420 + .my-md-3
1421 margin-top 16px!important
1422 . mb-md-3
1423 + .my-md-3
1424 margin-bottom 16px!important
1425 . m-md-3
1426 margin 16px!important
1427 . mr-md-4
1428 + .mx-md-4
1429 margin-right 32px!important
1430 . ml-md-4
1431 + .mx-md-4
1432 margin-left 32px!important
1433 . mt-md-4
1434 + .my-md-4
1435 margin-top 32px!important
1436 . mb-md-4
1437 + .my-md-4
1438 margin-bottom 32px!important
1439 . m-md-4
1440 margin 32px!important
1441 . mr-md-5
1442 + .mx-md-5
1443 margin-right 48px!important
1444 . ml-md-5
1445 + .mx-md-5
1446 margin-left 48px!important
1447 . mt-md-5
1448 + .my-md-5
1449 margin-top 48px!important
1450 . mb-md-5
1451 + .my-md-5
1452 margin-bottom 48px!important
1453 . m-md-5
1454 margin 48px!important
1455 . mr-md-6
1456 + .mx-md-6
1457 margin-right 64px!important
1458 . ml-md-6
1459 + .mx-md-6
1460 margin-left 64px!important
1461 . mt-md-6
1462 + .my-md-6
1463 margin-top 64px!important
1464 . mb-md-6
1465 + .my-md-6
1466 margin-bottom 64px!important
1467 . m-md-6
1468 margin 64px!important
1469 . mr-md-7
1470 + .mx-md-7
1471 margin-right 80px!important
1472 . ml-md-7
1473 + .mx-md-7
1474 margin-left 80px!important
1475 . mt-md-7
1476 + .my-md-7
1477 margin-top 80px!important
1478 . mb-md-7
1479 + .my-md-7
1480 margin-bottom 80px!important
1481 . m-md-7
1482 margin 80px!important
1483 . mr-md-8
1484 + .mx-md-8
1485 margin-right 96px!important
1486 . ml-md-8
1487 + .mx-md-8
1488 margin-left 96px!important
1489 . mt-md-8
1490 + .my-md-8
1491 margin-top 96px!important
1492 . mb-md-8
1493 + .my-md-8
1494 margin-bottom 96px!important
1495 . m-md-8
1496 margin 96px!important
1497 . mr-md-9
1498 + .mx-md-9
1499 margin-right 112px!important
1500 . ml-md-9
1501 + .mx-md-9
1502 margin-left 112px!important
1503 . mt-md-9
1504 + .my-md-9
1505 margin-top 112px!important
1506 . mb-md-9
1507 + .my-md-9
1508 margin-bottom 112px!important
1509 . m-md-9
1510 margin 112px!important
1511 . p-0
1512 padding 0!important
1513 . pr-1
1514 + .px-1
1515 padding-right 4px!important
1516 . pl-1
1517 + .px-1
1518 padding-left 4px!important
1519 . pt-1
1520 + .py-1
1521 padding-top 4px!important
1522 . pb-1
1523 + .py-1
1524 padding-bottom 4px!important
1525 . p-1
1526 padding 4px!important
1527 . pr-2
1528 + .px-2
1529 padding-right 8px!important
1530 . pl-2
1531 + .px-2
1532 padding-left 8px!important
1533 . pt-2
1534 + .py-2
1535 padding-top 8px!important
1536 . pb-2
1537 + .py-2
1538 padding-bottom 8px!important
1539 . p-2
1540 padding 8px!important
1541 . pr-3
1542 + .px-3
1543 padding-right 16px!important
1544 . pl-3
1545 + .px-3
1546 padding-left 16px!important
1547 . pt-3
1548 + .py-3
1549 padding-top 16px!important
1550 . pb-3
1551 + .py-3
1552 padding-bottom 16px!important
1553 . p-3
1554 padding 16px!important
1555 . pr-4
1556 + .px-4
1557 padding-right 32px!important
1558 . pl-4
1559 + .px-4
1560 padding-left 32px!important
1561 . pt-4
1562 + .py-4
1563 padding-top 32px!important
1564 . pb-4
1565 + .py-4
1566 padding-bottom 32px!important
1567 . p-4
1568 padding 32px!important
1569 . pr-5
1570 + .px-5
1571 padding-right 48px!important
1572 . pl-5
1573 + .px-5
1574 padding-left 48px!important
1575 . pt-5
1576 + .py-5
1577 padding-top 48px!important
1578 . pb-5
1579 + .py-5
1580 padding-bottom 48px!important
1581 . p-5
1582 padding 48px!important
1583 . pr-6
1584 + .px-6
1585 padding-right 64px!important
1586 . pl-6
1587 + .px-6
1588 padding-left 64px!important
1589 . pt-6
1590 + .py-6
1591 padding-top 64px!important
1592 . pb-6
1593 + .py-6
1594 padding-bottom 64px!important
1595 . p-6
1596 padding 64px!important
1597 . pr-7
1598 + .px-7
1599 padding-right 80px!important
1600 . pl-7
1601 + .px-7
1602 padding-left 80px!important
1603 . pt-7
1604 + .py-7
1605 padding-top 80px!important
1606 . pb-7
1607 + .py-7
1608 padding-bottom 80px!important
1609 . p-7
1610 padding 80px!important
1611 . pr-8
1612 + .px-8
1613 padding-right 96px!important
1614 . pl-8
1615 + .px-8
1616 padding-left 96px!important
1617 . pt-8
1618 + .py-8
1619 padding-top 96px!important
1620 . pb-8
1621 + .py-8
1622 padding-bottom 96px!important
1623 . p-8
1624 padding 96px!important
1625 . pr-9
1626 + .px-9
1627 padding-right 112px!important
1628 . pl-9
1629 + .px-9
1630 padding-left 112px!important
1631 . pt-9
1632 + .py-9
1633 padding-top 112px!important
1634 . pb-9
1635 + .py-9
1636 padding-bottom 112px!important
1637 . p-9
1638 padding 112px!important
1639 media (min-width:544px)
1640 . pr-sm-0
1641 + .px-sm-0
1642 padding-right 0!important
1643 . pl-sm-0
1644 + .px-sm-0
1645 padding-left 0!important
1646 . pt-sm-0
1647 + .py-sm-0
1648 padding-top 0!important
1649 . pb-sm-0
1650 + .py-sm-0
1651 padding-bottom 0!important
1652 . p-sm-0
1653 padding 0!important
1654 . pr-sm-1
1655 + .px-sm-1
1656 padding-right 4px!important
1657 . pl-sm-1
1658 + .px-sm-1
1659 padding-left 4px!important
1660 . pt-sm-1
1661 + .py-sm-1
1662 padding-top 4px!important
1663 . pb-sm-1
1664 + .py-sm-1
1665 padding-bottom 4px!important
1666 . p-sm-1
1667 padding 4px!important
1668 . pr-sm-2
1669 + .px-sm-2
1670 padding-right 8px!important
1671 . pl-sm-2
1672 + .px-sm-2
1673 padding-left 8px!important
1674 . pt-sm-2
1675 + .py-sm-2
1676 padding-top 8px!important
1677 . pb-sm-2
1678 + .py-sm-2
1679 padding-bottom 8px!important
1680 . p-sm-2
1681 padding 8px!important
1682 . pr-sm-3
1683 + .px-sm-3
1684 padding-right 16px!important
1685 . pl-sm-3
1686 + .px-sm-3
1687 padding-left 16px!important
1688 . pt-sm-3
1689 + .py-sm-3
1690 padding-top 16px!important
1691 . pb-sm-3
1692 + .py-sm-3
1693 padding-bottom 16px!important
1694 . p-sm-3
1695 padding 16px!important
1696 . pr-sm-4
1697 + .px-sm-4
1698 padding-right 32px!important
1699 . pl-sm-4
1700 + .px-sm-4
1701 padding-left 32px!important
1702 . pt-sm-4
1703 + .py-sm-4
1704 padding-top 32px!important
1705 . pb-sm-4
1706 + .py-sm-4
1707 padding-bottom 32px!important
1708 . p-sm-4
1709 padding 32px!important
1710 . pr-sm-5
1711 + .px-sm-5
1712 padding-right 48px!important
1713 . pl-sm-5
1714 + .px-sm-5
1715 padding-left 48px!important
1716 . pt-sm-5
1717 + .py-sm-5
1718 padding-top 48px!important
1719 . pb-sm-5
1720 + .py-sm-5
1721 padding-bottom 48px!important
1722 . p-sm-5
1723 padding 48px!important
1724 . pr-sm-6
1725 + .px-sm-6
1726 padding-right 64px!important
1727 . pl-sm-6
1728 + .px-sm-6
1729 padding-left 64px!important
1730 . pt-sm-6
1731 + .py-sm-6
1732 padding-top 64px!important
1733 . pb-sm-6
1734 + .py-sm-6
1735 padding-bottom 64px!important
1736 . p-sm-6
1737 padding 64px!important
1738 . pr-sm-7
1739 + .px-sm-7
1740 padding-right 80px!important
1741 . pl-sm-7
1742 + .px-sm-7
1743 padding-left 80px!important
1744 . pt-sm-7
1745 + .py-sm-7
1746 padding-top 80px!important
1747 . pb-sm-7
1748 + .py-sm-7
1749 padding-bottom 80px!important
1750 . p-sm-7
1751 padding 80px!important
1752 . pr-sm-8
1753 + .px-sm-8
1754 padding-right 96px!important
1755 . pl-sm-8
1756 + .px-sm-8
1757 padding-left 96px!important
1758 . pt-sm-8
1759 + .py-sm-8
1760 padding-top 96px!important
1761 . pb-sm-8
1762 + .py-sm-8
1763 padding-bottom 96px!important
1764 . p-sm-8
1765 padding 96px!important
1766 . pr-sm-9
1767 + .px-sm-9
1768 padding-right 112px!important
1769 . pl-sm-9
1770 + .px-sm-9
1771 padding-left 112px!important
1772 . pt-sm-9
1773 + .py-sm-9
1774 padding-top 112px!important
1775 . pb-sm-9
1776 + .py-sm-9
1777 padding-bottom 112px!important
1778 . p-sm-9
1779 padding 112px!important
1780 media (min-width:768px)
1781 . pr-md-0
1782 + .px-md-0
1783 padding-right 0!important
1784 . pl-md-0
1785 + .px-md-0
1786 padding-left 0!important
1787 . pt-md-0
1788 + .py-md-0
1789 padding-top 0!important
1790 . pb-md-0
1791 + .py-md-0
1792 padding-bottom 0!important
1793 . p-md-0
1794 padding 0!important
1795 . pr-md-1
1796 + .px-md-1
1797 padding-right 4px!important
1798 . pl-md-1
1799 + .px-md-1
1800 padding-left 4px!important
1801 . pt-md-1
1802 + .py-md-1
1803 padding-top 4px!important
1804 . pb-md-1
1805 + .py-md-1
1806 padding-bottom 4px!important
1807 . p-md-1
1808 padding 4px!important
1809 . pr-md-2
1810 + .px-md-2
1811 padding-right 8px!important
1812 . pl-md-2
1813 + .px-md-2
1814 padding-left 8px!important
1815 . pt-md-2
1816 + .py-md-2
1817 padding-top 8px!important
1818 . pb-md-2
1819 + .py-md-2
1820 padding-bottom 8px!important
1821 . p-md-2
1822 padding 8px!important
1823 . pr-md-3
1824 + .px-md-3
1825 padding-right 16px!important
1826 . pl-md-3
1827 + .px-md-3
1828 padding-left 16px!important
1829 . pt-md-3
1830 + .py-md-3
1831 padding-top 16px!important
1832 . pb-md-3
1833 + .py-md-3
1834 padding-bottom 16px!important
1835 . p-md-3
1836 padding 16px!important
1837 . pr-md-4
1838 + .px-md-4
1839 padding-right 32px!important
1840 . pl-md-4
1841 + .px-md-4
1842 padding-left 32px!important
1843 . pt-md-4
1844 + .py-md-4
1845 padding-top 32px!important
1846 . pb-md-4
1847 + .py-md-4
1848 padding-bottom 32px!important
1849 . p-md-4
1850 padding 32px!important
1851 . pr-md-5
1852 + .px-md-5
1853 padding-right 48px!important
1854 . pl-md-5
1855 + .px-md-5
1856 padding-left 48px!important
1857 . pt-md-5
1858 + .py-md-5
1859 padding-top 48px!important
1860 . pb-md-5
1861 + .py-md-5
1862 padding-bottom 48px!important
1863 . p-md-5
1864 padding 48px!important
1865 . pr-md-6
1866 + .px-md-6
1867 padding-right 64px!important
1868 . pl-md-6
1869 + .px-md-6
1870 padding-left 64px!important
1871 . pt-md-6
1872 + .py-md-6
1873 padding-top 64px!important
1874 . pb-md-6
1875 + .py-md-6
1876 padding-bottom 64px!important
1877 . p-md-6
1878 padding 64px!important
1879 . pr-md-7
1880 + .px-md-7
1881 padding-right 80px!important
1882 . pl-md-7
1883 + .px-md-7
1884 padding-left 80px!important
1885 . pt-md-7
1886 + .py-md-7
1887 padding-top 80px!important
1888 . pb-md-7
1889 + .py-md-7
1890 padding-bottom 80px!important
1891 . p-md-7
1892 padding 80px!important
1893 . pr-md-8
1894 + .px-md-8
1895 padding-right 96px!important
1896 . pl-md-8
1897 + .px-md-8
1898 padding-left 96px!important
1899 . pt-md-8
1900 + .py-md-8
1901 padding-top 96px!important
1902 . pb-md-8
1903 + .py-md-8
1904 padding-bottom 96px!important
1905 . p-md-8
1906 padding 96px!important
1907 . pr-md-9
1908 + .px-md-9
1909 padding-right 112px!important
1910 . pl-md-9
1911 + .px-md-9
1912 padding-left 112px!important
1913 . pt-md-9
1914 + .py-md-9
1915 padding-top 112px!important
1916 . pb-md-9
1917 + .py-md-9
1918 padding-bottom 112px!important
1919 . p-md-9
1920 padding 112px!important
1921 media (min-width:1012px)
1922 . float-lg-left
1923 float left!important
1924 . mr-lg-0
1925 + .mx-lg-0
1926 margin-right 0!important
1927 . ml-lg-0
1928 + .mx-lg-0
1929 margin-left 0!important
1930 . mt-lg-0
1931 + .my-lg-0
1932 margin-top 0!important
1933 . mb-lg-0
1934 + .my-lg-0
1935 margin-bottom 0!important
1936 . m-lg-0
1937 margin 0!important
1938 . mr-lg-1
1939 + .mx-lg-1
1940 margin-right 4px!important
1941 . ml-lg-1
1942 + .mx-lg-1
1943 margin-left 4px!important
1944 . mt-lg-1
1945 + .my-lg-1
1946 margin-top 4px!important
1947 . mb-lg-1
1948 + .my-lg-1
1949 margin-bottom 4px!important
1950 . m-lg-1
1951 margin 4px!important
1952 . mr-lg-2
1953 + .mx-lg-2
1954 margin-right 8px!important
1955 . ml-lg-2
1956 + .mx-lg-2
1957 margin-left 8px!important
1958 . mt-lg-2
1959 + .my-lg-2
1960 margin-top 8px!important
1961 . mb-lg-2
1962 + .my-lg-2
1963 margin-bottom 8px!important
1964 . m-lg-2
1965 margin 8px!important
1966 . mr-lg-3
1967 + .mx-lg-3
1968 margin-right 16px!important
1969 . ml-lg-3
1970 + .mx-lg-3
1971 margin-left 16px!important
1972 . mt-lg-3
1973 + .my-lg-3
1974 margin-top 16px!important
1975 . mb-lg-3
1976 + .my-lg-3
1977 margin-bottom 16px!important
1978 . m-lg-3
1979 margin 16px!important
1980 . mr-lg-4
1981 + .mx-lg-4
1982 margin-right 32px!important
1983 . ml-lg-4
1984 + .mx-lg-4
1985 margin-left 32px!important
1986 . mt-lg-4
1987 + .my-lg-4
1988 margin-top 32px!important
1989 . mb-lg-4
1990 + .my-lg-4
1991 margin-bottom 32px!important
1992 . m-lg-4
1993 margin 32px!important
1994 . mr-lg-5
1995 + .mx-lg-5
1996 margin-right 48px!important
1997 . ml-lg-5
1998 + .mx-lg-5
1999 margin-left 48px!important
2000 . mt-lg-5
2001 + .my-lg-5
2002 margin-top 48px!important
2003 . mb-lg-5
2004 + .my-lg-5
2005 margin-bottom 48px!important
2006 . m-lg-5
2007 margin 48px!important
2008 . mr-lg-6
2009 + .mx-lg-6
2010 margin-right 64px!important
2011 . ml-lg-6
2012 + .mx-lg-6
2013 margin-left 64px!important
2014 . mt-lg-6
2015 + .my-lg-6
2016 margin-top 64px!important
2017 . mb-lg-6
2018 + .my-lg-6
2019 margin-bottom 64px!important
2020 . m-lg-6
2021 margin 64px!important
2022 . mr-lg-7
2023 + .mx-lg-7
2024 margin-right 80px!important
2025 . ml-lg-7
2026 + .mx-lg-7
2027 margin-left 80px!important
2028 . mt-lg-7
2029 + .my-lg-7
2030 margin-top 80px!important
2031 . mb-lg-7
2032 + .my-lg-7
2033 margin-bottom 80px!important
2034 . m-lg-7
2035 margin 80px!important
2036 . mr-lg-8
2037 + .mx-lg-8
2038 margin-right 96px!important
2039 . ml-lg-8
2040 + .mx-lg-8
2041 margin-left 96px!important
2042 . mt-lg-8
2043 + .my-lg-8
2044 margin-top 96px!important
2045 . mb-lg-8
2046 + .my-lg-8
2047 margin-bottom 96px!important
2048 . m-lg-8
2049 margin 96px!important
2050 . mr-lg-9
2051 + .mx-lg-9
2052 margin-right 112px!important
2053 . ml-lg-9
2054 + .mx-lg-9
2055 margin-left 112px!important
2056 . mt-lg-9
2057 + .my-lg-9
2058 margin-top 112px!important
2059 . mb-lg-9
2060 + .my-lg-9
2061 margin-bottom 112px!important
2062 . m-lg-9
2063 margin 112px!important
2064 . pr-lg-0
2065 + .px-lg-0
2066 padding-right 0!important
2067 . pl-lg-0
2068 + .px-lg-0
2069 padding-left 0!important
2070 . pt-lg-0
2071 + .py-lg-0
2072 padding-top 0!important
2073 . pb-lg-0
2074 + .py-lg-0
2075 padding-bottom 0!important
2076 . p-lg-0
2077 padding 0!important
2078 . pr-lg-1
2079 + .px-lg-1
2080 padding-right 4px!important
2081 . pl-lg-1
2082 + .px-lg-1
2083 padding-left 4px!important
2084 . pt-lg-1
2085 + .py-lg-1
2086 padding-top 4px!important
2087 . pb-lg-1
2088 + .py-lg-1
2089 padding-bottom 4px!important
2090 . p-lg-1
2091 padding 4px!important
2092 . pr-lg-2
2093 + .px-lg-2
2094 padding-right 8px!important
2095 . pl-lg-2
2096 + .px-lg-2
2097 padding-left 8px!important
2098 . pt-lg-2
2099 + .py-lg-2
2100 padding-top 8px!important
2101 . pb-lg-2
2102 + .py-lg-2
2103 padding-bottom 8px!important
2104 . p-lg-2
2105 padding 8px!important
2106 . pr-lg-3
2107 + .px-lg-3
2108 padding-right 16px!important
2109 . pl-lg-3
2110 + .px-lg-3
2111 padding-left 16px!important
2112 . pt-lg-3
2113 + .py-lg-3
2114 padding-top 16px!important
2115 . pb-lg-3
2116 + .py-lg-3
2117 padding-bottom 16px!important
2118 . p-lg-3
2119 padding 16px!important
2120 . pr-lg-4
2121 + .px-lg-4
2122 padding-right 32px!important
2123 . pl-lg-4
2124 + .px-lg-4
2125 padding-left 32px!important
2126 . pt-lg-4
2127 + .py-lg-4
2128 padding-top 32px!important
2129 . pb-lg-4
2130 + .py-lg-4
2131 padding-bottom 32px!important
2132 . p-lg-4
2133 padding 32px!important
2134 . pr-lg-5
2135 + .px-lg-5
2136 padding-right 48px!important
2137 . pl-lg-5
2138 + .px-lg-5
2139 padding-left 48px!important
2140 . pt-lg-5
2141 + .py-lg-5
2142 padding-top 48px!important
2143 . pb-lg-5
2144 + .py-lg-5
2145 padding-bottom 48px!important
2146 . p-lg-5
2147 padding 48px!important
2148 . pr-lg-6
2149 + .px-lg-6
2150 padding-right 64px!important
2151 . pl-lg-6
2152 + .px-lg-6
2153 padding-left 64px!important
2154 . pt-lg-6
2155 + .py-lg-6
2156 padding-top 64px!important
2157 . pb-lg-6
2158 + .py-lg-6
2159 padding-bottom 64px!important
2160 . p-lg-6
2161 padding 64px!important
2162 . pr-lg-7
2163 + .px-lg-7
2164 padding-right 80px!important
2165 . pl-lg-7
2166 + .px-lg-7
2167 padding-left 80px!important
2168 . pt-lg-7
2169 + .py-lg-7
2170 padding-top 80px!important
2171 . pb-lg-7
2172 + .py-lg-7
2173 padding-bottom 80px!important
2174 . p-lg-7
2175 padding 80px!important
2176 . pr-lg-8
2177 + .px-lg-8
2178 padding-right 96px!important
2179 . pl-lg-8
2180 + .px-lg-8
2181 padding-left 96px!important
2182 . pt-lg-8
2183 + .py-lg-8
2184 padding-top 96px!important
2185 . pb-lg-8
2186 + .py-lg-8
2187 padding-bottom 96px!important
2188 . p-lg-8
2189 padding 96px!important
2190 . pr-lg-9
2191 + .px-lg-9
2192 padding-right 112px!important
2193 . pl-lg-9
2194 + .px-lg-9
2195 padding-left 112px!important
2196 . pt-lg-9
2197 + .py-lg-9
2198 padding-top 112px!important
2199 . pb-lg-9
2200 + .py-lg-9
2201 padding-bottom 112px!important
2202 . p-lg-9
2203 padding 112px!important
2204 media (min-width:1280px)
2205 . float-xl-left
2206 float left!important
2207 . mr-xl-0
2208 + .mx-xl-0
2209 margin-right 0!important
2210 . ml-xl-0
2211 + .mx-xl-0
2212 margin-left 0!important
2213 . mt-xl-0
2214 + .my-xl-0
2215 margin-top 0!important
2216 . mb-xl-0
2217 + .my-xl-0
2218 margin-bottom 0!important
2219 . m-xl-0
2220 margin 0!important
2221 . mr-xl-1
2222 + .mx-xl-1
2223 margin-right 4px!important
2224 . ml-xl-1
2225 + .mx-xl-1
2226 margin-left 4px!important
2227 . mt-xl-1
2228 + .my-xl-1
2229 margin-top 4px!important
2230 . mb-xl-1
2231 + .my-xl-1
2232 margin-bottom 4px!important
2233 . m-xl-1
2234 margin 4px!important
2235 . mr-xl-2
2236 + .mx-xl-2
2237 margin-right 8px!important
2238 . ml-xl-2
2239 + .mx-xl-2
2240 margin-left 8px!important
2241 . mt-xl-2
2242 + .my-xl-2
2243 margin-top 8px!important
2244 . mb-xl-2
2245 + .my-xl-2
2246 margin-bottom 8px!important
2247 . m-xl-2
2248 margin 8px!important
2249 . mr-xl-3
2250 + .mx-xl-3
2251 margin-right 16px!important
2252 . ml-xl-3
2253 + .mx-xl-3
2254 margin-left 16px!important
2255 . mt-xl-3
2256 + .my-xl-3
2257 margin-top 16px!important
2258 . mb-xl-3
2259 + .my-xl-3
2260 margin-bottom 16px!important
2261 . m-xl-3
2262 margin 16px!important
2263 . mr-xl-4
2264 + .mx-xl-4
2265 margin-right 32px!important
2266 . ml-xl-4
2267 + .mx-xl-4
2268 margin-left 32px!important
2269 . mt-xl-4
2270 + .my-xl-4
2271 margin-top 32px!important
2272 . mb-xl-4
2273 + .my-xl-4
2274 margin-bottom 32px!important
2275 . m-xl-4
2276 margin 32px!important
2277 . mr-xl-5
2278 + .mx-xl-5
2279 margin-right 48px!important
2280 . ml-xl-5
2281 + .mx-xl-5
2282 margin-left 48px!important
2283 . mt-xl-5
2284 + .my-xl-5
2285 margin-top 48px!important
2286 . mb-xl-5
2287 + .my-xl-5
2288 margin-bottom 48px!important
2289 . m-xl-5
2290 margin 48px!important
2291 . mr-xl-6
2292 + .mx-xl-6
2293 margin-right 64px!important
2294 . ml-xl-6
2295 + .mx-xl-6
2296 margin-left 64px!important
2297 . mt-xl-6
2298 + .my-xl-6
2299 margin-top 64px!important
2300 . mb-xl-6
2301 + .my-xl-6
2302 margin-bottom 64px!important
2303 . m-xl-6
2304 margin 64px!important
2305 . mr-xl-7
2306 + .mx-xl-7
2307 margin-right 80px!important
2308 . ml-xl-7
2309 + .mx-xl-7
2310 margin-left 80px!important
2311 . mt-xl-7
2312 + .my-xl-7
2313 margin-top 80px!important
2314 . mb-xl-7
2315 + .my-xl-7
2316 margin-bottom 80px!important
2317 . m-xl-7
2318 margin 80px!important
2319 . mr-xl-8
2320 + .mx-xl-8
2321 margin-right 96px!important
2322 . ml-xl-8
2323 + .mx-xl-8
2324 margin-left 96px!important
2325 . mt-xl-8
2326 + .my-xl-8
2327 margin-top 96px!important
2328 . mb-xl-8
2329 + .my-xl-8
2330 margin-bottom 96px!important
2331 . m-xl-8
2332 margin 96px!important
2333 . mr-xl-9
2334 + .mx-xl-9
2335 margin-right 112px!important
2336 . ml-xl-9
2337 + .mx-xl-9
2338 margin-left 112px!important
2339 . mt-xl-9
2340 + .my-xl-9
2341 margin-top 112px!important
2342 . mb-xl-9
2343 + .my-xl-9
2344 margin-bottom 112px!important
2345 . m-xl-9
2346 margin 112px!important
2347 . pr-xl-0
2348 + .px-xl-0
2349 padding-right 0!important
2350 . pl-xl-0
2351 + .px-xl-0
2352 padding-left 0!important
2353 . pt-xl-0
2354 + .py-xl-0
2355 padding-top 0!important
2356 . pb-xl-0
2357 + .py-xl-0
2358 padding-bottom 0!important
2359 . p-xl-0
2360 padding 0!important
2361 . pr-xl-1
2362 + .px-xl-1
2363 padding-right 4px!important
2364 . pl-xl-1
2365 + .px-xl-1
2366 padding-left 4px!important
2367 . pt-xl-1
2368 + .py-xl-1
2369 padding-top 4px!important
2370 . pb-xl-1
2371 + .py-xl-1
2372 padding-bottom 4px!important
2373 . p-xl-1
2374 padding 4px!important
2375 . pr-xl-2
2376 + .px-xl-2
2377 padding-right 8px!important
2378 . pl-xl-2
2379 + .px-xl-2
2380 padding-left 8px!important
2381 . pt-xl-2
2382 + .py-xl-2
2383 padding-top 8px!important
2384 . pb-xl-2
2385 + .py-xl-2
2386 padding-bottom 8px!important
2387 . p-xl-2
2388 padding 8px!important
2389 . pr-xl-3
2390 + .px-xl-3
2391 padding-right 16px!important
2392 . pl-xl-3
2393 + .px-xl-3
2394 padding-left 16px!important
2395 . pt-xl-3
2396 + .py-xl-3
2397 padding-top 16px!important
2398 . pb-xl-3
2399 + .py-xl-3
2400 padding-bottom 16px!important
2401 . p-xl-3
2402 padding 16px!important
2403 . pr-xl-4
2404 + .px-xl-4
2405 padding-right 32px!important
2406 . pl-xl-4
2407 + .px-xl-4
2408 padding-left 32px!important
2409 . pt-xl-4
2410 + .py-xl-4
2411 padding-top 32px!important
2412 . pb-xl-4
2413 + .py-xl-4
2414 padding-bottom 32px!important
2415 . p-xl-4
2416 padding 32px!important
2417 . pr-xl-5
2418 + .px-xl-5
2419 padding-right 48px!important
2420 . pl-xl-5
2421 + .px-xl-5
2422 padding-left 48px!important
2423 . pt-xl-5
2424 + .py-xl-5
2425 padding-top 48px!important
2426 . pb-xl-5
2427 + .py-xl-5
2428 padding-bottom 48px!important
2429 . p-xl-5
2430 padding 48px!important
2431 . pr-xl-6
2432 + .px-xl-6
2433 padding-right 64px!important
2434 . pl-xl-6
2435 + .px-xl-6
2436 padding-left 64px!important
2437 . pt-xl-6
2438 + .py-xl-6
2439 padding-top 64px!important
2440 . pb-xl-6
2441 + .py-xl-6
2442 padding-bottom 64px!important
2443 . p-xl-6
2444 padding 64px!important
2445 . pr-xl-7
2446 + .px-xl-7
2447 padding-right 80px!important
2448 . pl-xl-7
2449 + .px-xl-7
2450 padding-left 80px!important
2451 . pt-xl-7
2452 + .py-xl-7
2453 padding-top 80px!important
2454 . pb-xl-7
2455 + .py-xl-7
2456 padding-bottom 80px!important
2457 . p-xl-7
2458 padding 80px!important
2459 . pr-xl-8
2460 + .px-xl-8
2461 padding-right 96px!important
2462 . pl-xl-8
2463 + .px-xl-8
2464 padding-left 96px!important
2465 . pt-xl-8
2466 + .py-xl-8
2467 padding-top 96px!important
2468 . pb-xl-8
2469 + .py-xl-8
2470 padding-bottom 96px!important
2471 . p-xl-8
2472 padding 96px!important
2473 . pr-xl-9
2474 + .px-xl-9
2475 padding-right 112px!important
2476 . pl-xl-9
2477 + .px-xl-9
2478 padding-left 112px!important
2479 . pt-xl-9
2480 + .py-xl-9
2481 padding-top 112px!important
2482 . pb-xl-9
2483 + .py-xl-9
2484 padding-bottom 112px!important
2485 . p-xl-9
2486 padding 112px!important
2487 . img-fluid
2488 width 100%
2489 max-width 100%
2490 height auto
2491 . img-static
2492 width auto
2493 max-width none
2494 height auto
2495 . media-fluid img
2496 width 100%
2497 max-width 100%
2498 height auto
2499 . media-fluid .media-container
2500 position relative
2501 max-width 100%
2502 height 0
2503 padding-top 30px
2504 padding-bottom 56.25%
2505 overflow hidden
2506 . media-fluid .media-container embed
2507 + .media-fluid .media-container iframe
2508 + .media-fluid .media-container object
2509 position absolute
2510 top 0
2511 left 0
2512 width 100%
2513 height 100%
2514 . btn
2515 + .footer
2516 position relative
2517 . text-black
2518 color #3c4146!important
2519 . text-default
2520 color #767676!important
2521 . text-white
2522 + .text-white a
2523 color #fff!important
2524 . text-white a
2525 opacity .7!important
2526 . link-no-style
2527 + .link-no-style:hover
2528 color inherit!important
2529 . text-small
2530 font-size 13px!important
2531 . text-bold
2532 font-weight 500!important
2533 . text-thin
2534 font-weight 300!important
2535 . text-center
2536 text-align center!important
2537 . text-left
2538 + .text-right
2539 text-align left!important
2540 media (min-width:544px)
2541 . text-sm-center
2542 text-align center!important
2543 . text-sm-left
2544 + .text-sm-right
2545 text-align left!important
2546 media (min-width:768px)
2547 . text-small
2548 font-size 14px!important
2549 . text-md-center
2550 text-align center!important
2551 . text-md-left
2552 + .text-md-right
2553 text-align left!important
2554 media (min-width:1012px)
2555 . text-lg-center
2556 text-align center!important
2557 . text-lg-left
2558 + .text-lg-right
2559 text-align left!important
2560 media (min-width:1280px)
2561 . text-xl-center
2562 text-align center!important
2563 . text-xl-left
2564 + .text-xl-right
2565 text-align left!important
2566 . btn-block
2567 + .footer
2568 + .site-header
2569 text-align center
2570 . btn
2571 display inline-block
2572 padding .65em 1.25em
2573 font-size inherit
2574 font-weight 500
2575 line-height 20px
2576 color #767676
2577 user-select none
2578 background-color #eee
2579 border 1px solid #d5d5d5
2580 border-radius .25em
2581 . btn.selected:focus
2582 + .btn:focus
2583 + .btn:focus:hover
2584 border-color #51a7e8
2585 . btn:focus
2586 text-decoration none
2587 outline 0
2588 box-shadow 0 0 5px rgba(81,167,232,.5)
2589 . btn.zeroclipboard-is-active
2590 + .btn.zeroclipboard-is-hover
2591 + .btn:active
2592 + .btn:hover
2593 text-decoration none
2594 background-color #ddd
2595 background-image linear-gradient(#eee,#ddd)
2596 border-color #ccc
2597 . btn.selected
2598 + .btn.zeroclipboard-is-active
2599 + .btn:active
2600 background-color #dcdcdc
2601 background-image none
2602 border-color #b5b5b5
2603 box-shadow inset 0 2px 4px rgba(0,0,0,.15)
2604 . btn.selected:hover
2605 background-color #cfcfcf
2606 . btn.disabled
2607 + .btn.disabled:hover
2608 + .btn:disabled
2609 + .btn:disabled:hover
2610 color rgba(102,102,102,.5)
2611 cursor default
2612 background-color rgba(229,229,229,.5)
2613 background-image none
2614 border-color rgba(197,197,197,.5)
2615 box-shadow none
2616 . btn-sm
2617 padding 2px 10px
2618 . btn-block
2619 display block
2620 width 100%
2621 . btn-link
2622 display inline-block
2623 padding 0
2624 font-size inherit
2625 color #0079d1
2626 cursor pointer
2627 -webkit-user-select none
2628 -ms-user-select none
2629 user-select none
2630 background 0 0
2631 border 0
2632 . btn-blue
2633 + .btn-orange
2634 + .btn-purple
2635 + .btn-themed
2636 padding .55em 1em
2637 font-size inherit
2638 line-height 1.5
2639 font-weight 500
2640 . btn-link:focus
2641 + .btn-link:hover
2642 text-decoration underline
2643 background 0 0
2644 . btn-link:focus
2645 outline 0
2646 . btn-purple
2647 color #fff
2648 background-color #7a3497
2649 background-image linear-gradient(#893baa,#6b2d84)
2650 border-color #5b2771
2651 . btn-purple:hover
2652 color #fff
2653 background-color #6b2d84
2654 background-image linear-gradient(#7a3497,#5b2771)
2655 border-color #4c205e
2656 . btn-purple:active
2657 text-shadow 0 1px 0 rgba(0,0,0,.15)
2658 background-color #5b2771
2659 background-image none
2660 border-color #5b2771
2661 . btn-purple.disabled
2662 text-shadow none
2663 . btn-blue
2664 color #fff
2665 text-shadow 0 -1px 0 rgba(0,0,0,.15)
2666 background-color #0079d1
2667 background-image linear-gradient(#0088eb,#006ab8)
2668 border-color #005b9e
2669 . btn-blue:hover
2670 color #fff
2671 background-color #006ab8
2672 background-image linear-gradient(#0079d1,#005b9e)
2673 border-color #004d85
2674 . btn-blue:active
2675 text-shadow 0 1px 0 rgba(0,0,0,.15)
2676 background-color #005b9e
2677 background-image none
2678 border-color #005b9e
2679 . btn-blue.disabled
2680 text-shadow none
2681 . btn-orange
2682 color #fff
2683 text-shadow 0 -1px 0 rgba(0,0,0,.15)
2684 background-color #e8400d
2685 background-image linear-gradient(#f24e1c,#d0390c)
2686 border-color #b8330a
2687 . btn-orange:hover
2688 color #fff
2689 background-color #d0390c
2690 background-image linear-gradient(#e8400d,#b8330a)
2691 border-color #a02c09
2692 . btn-orange:active
2693 text-shadow 0 1px 0 rgba(0,0,0,.15)
2694 background-color #b8330a
2695 background-image none
2696 border-color #b8330a
2697 . btn-orange.disabled
2698 text-shadow none
2699 . btn-themed
2700 color #fff
2701 text-shadow 0 -1px 0 rgba(0,0,0,.15)
2702 background-color #0079d1
2703 background-image linear-gradient(#0088eb,#006ab8)
2704 border-color #005b9e
2705 . btn-themed:hover
2706 color #fff
2707 background-color #006ab8
2708 background-image linear-gradient(#0079d1,#005b9e)
2709 border-color #004d85
2710 . btn-themed:active
2711 text-shadow 0 1px 0 rgba(0,0,0,.15)
2712 background-color #005b9e
2713 background-image none
2714 border-color #005b9e
2715 . btn-themed.disabled
2716 text-shadow none
2717 < [class*=btn-outline]
2718 color #0079d1
2719 background-color transparent
2720 background-image none
2721 border 1px solid #e5e5e5
2722 < [class*=btn-outline].selected
2723 + [class*=btn-outline].zeroclipboard-is-active
2724 + [class*=btn-outline].zeroclipboard-is-hover
2725 + [class*=btn-outline]:active
2726 + [class*=btn-outline]:hover
2727 color #fff
2728 background-color #0079d1
2729 background-image none
2730 border-color #0079d1
2731 < [class*=btn-outline].selected:hover
2732 background-color #005b9e
2733 < [class*=btn-outline].disabled
2734 + [class*=btn-outline].disabled:hover
2735 + [class*=btn-outline]:disabled
2736 + [class*=btn-outline]:disabled:hover
2737 color #f5f5f5
2738 background-color #fff
2739 background-image none
2740 border-color #e5e5e5
2741 . btn-outline-purple
2742 color #7a3497
2743 border-color #7a3497
2744 border-radius .25em
2745 . btn-outline-purple:active
2746 + .btn-outline-purple:hover
2747 background-color #7a3497
2748 border-color #7a3497
2749 color #fff
2750 . btn-outline-blue
2751 color #0079d1
2752 border-color #0079d1
2753 border-radius .25em
2754 . btn-outline-blue:active
2755 + .btn-outline-blue:hover
2756 background-color #0079d1
2757 border-color #0079d1
2758 color #fff
2759 . btn-outline-orange
2760 color #e8400d
2761 border-color #e8400d
2762 border-radius .25em
2763 . btn-outline-orange:active
2764 + .btn-outline-orange:hover
2765 background-color #e8400d
2766 border-color #e8400d
2767 color #fff
2768 . btn-outline-white
2769 color #fff
2770 border-color #fff
2771 border-radius .25em
2772 . btn-outline-white:active
2773 + .btn-outline-white:hover
2774 background-color #fff
2775 border-color #fff
2776 color #0079d1
2777 . btn-outline-themed
2778 color #0079d1
2779 border-color #0079d1
2780 border-radius .25em
2781 . btn-outline-themed:active
2782 + .btn-outline-themed:hover
2783 background-color #0079d1
2784 border-color #0079d1
2785 color #fff
2786 . btn-lg
2787 padding 16px 30px
2788 font-size 18px
2789 . slow-animate-in
2790 -webkit-animation-name slowAnimateIn
2791 animation-name slowAnimateIn
2792 -webkit-animation-duration 2s
2793 animation-duration 2s
2794 -webkit-animation-fill-mode both
2795 animation-fill-mode both
2796 keyframes slowAnimateIn
2797 vendor -webkit-
2798 keyframe from
2799 opacity 0
2800 -webkit-transform translate3d(0,20%,0)
2801 transform translate3d(0,20%,0)
2802 keyframe to
2803 opacity 1
2804 -webkit-transform none
2805 transform none
2806 keyframes slowAnimateIn
2807 vendor
2808 keyframe from
2809 opacity 0
2810 -webkit-transform translate3d(0,20%,0)
2811 transform translate3d(0,20%,0)
2812 keyframe to
2813 opacity 1
2814 -webkit-transform none
2815 transform none
2816 . card
2817 background #fff
2818 border 1px solid #e5e5e5
2819 border-radius 6px
2820 box-shadow 0 1px 1px rgba(0,0,0,.1)
2821 < code
2822 margin 0
2823 background-color rgba(0,0,0,.04)
2824 border-radius 3px
2825 < code::after
2826 + code::before
2827 letter-spacing -.2em
2828 content "\00a0"
2829 . highlight
2830 margin 0 0 32px
2831 background-color #f5f5f5
2832 border 1px solid #e5e5e5
2833 border-radius 6px
2834 . highlight pre
2835 padding 16px
2836 margin-bottom 0
2837 overflow auto
2838 font-size 16px
2839 line-height 1.45
2840 . highlight pre code
2841 display inline
2842 max-width initial
2843 padding 0
2844 margin 0
2845 overflow initial
2846 line-height inherit
2847 word-wrap normal
2848 background-color transparent
2849 border 0
2850 . menu-item
2851 + .site-header
2852 border-bottom 1px solid #e5e5e5
2853 . highlight pre code::after
2854 + .highlight pre code::before
2855 content none
2856 . example
2857 padding 16px
2858 margin-top 16px
2859 border 1px solid #e5e5e5
2860 border-top-left-radius 6px
2861 border-top-right-radius 6px
2862 . example+.highlight
2863 margin-bottom 32px
2864 border-top 0
2865 border-top-left-radius 0
2866 border-top-right-radius 0
2867 . screenshot
2868 margin-bottom 48px
2869 . screenshot img
2870 display inline-block
2871 margin 8px 0
2872 border-radius 6px
2873 box-shadow 0 4px 14px rgba(0,0,0,.2)
2874 . highlight+.highlight
2875 margin-top -16px
2876 . footer
2877 padding-top 30px
2878 padding-bottom 30px
2879 margin-top 30px
2880 font-size 13px
2881 line-height 32px
2882 border-top 1px solid #e5e5e5
2883 . footer-mark
2884 position absolute
2885 top 50%
2886 left 50%
2887 display none
2888 margin-top -16px
2889 margin-left -16px
2890 color #ccc
2891 . jumbotron
2892 + .minitron
2893 position relative
2894 background-color #0079d1
2895 . ajax_paginate
2896 + .paginate-wrap
2897 + .site-header-nav
2898 margin-top 20px
2899 . footer-nav-item+.footer-nav-item
2900 + .site-header-nav-item+.site-header-nav-item
2901 margin-left 20px
2902 media (min-width:768px)
2903 . footer-mark
2904 display block
2905 . footer-nav
2906 float right
2907 . footer-legal
2908 float left
2909 . footer-nav-item
2910 display inline-block
2911 . minitron
2912 padding-top 32px
2913 padding-bottom 32px
2914 media (min-width:544px)
2915 . minitron
2916 padding-top 48px
2917 padding-bottom 48px
2918 . jumbotron
2919 padding-top 48px
2920 padding-bottom 48px
2921 media (min-width:768px)
2922 . jumbotron
2923 padding-top 96px
2924 padding-bottom 96px
2925 . jumbotron::after
2926 position absolute
2927 bottom 0
2928 left 0
2929 width 100%
2930 height 30px
2931 content " "
2932 background-color transparent
2933 background-image linear-gradient(transparent,rgba(0,0,0,.05))
2934 background-repeat repeat-x
2935 box-shadow inset 0 -1px 0 rgba(0,0,0,.05)
2936 < #search-container
2937 + .menu-item
2938 position relative
2939 . site-header
2940 padding-top 25px
2941 padding-bottom 25px
2942 . site-header-logo
2943 font-size 22px
2944 . site-header-logo .mega-octicon
2945 padding-right 5px
2946 . site-header-logo .logo
2947 width auto
2948 height 18px
2949 overflow visible!important
2950 media (min-width:544px)
2951 . site-header-logo .logo
2952 height 22px
2953 opacity .9
2954 . site-header-logo .logo:hover
2955 opacity 1
2956 . site-header-logo .logo ellipse
2957 + .site-header-logo .logo path
2958 fill #aaa
2959 media (min-width:700px)
2960 . site-header
2961 text-align left
2962 . site-header-logo
2963 float left
2964 . site-header-nav
2965 float right
2966 margin-top 7px
2967 . site-header-nav-item
2968 display inline-block
2969 color #555
2970 . site-header-nav-item:hover
2971 color #333
2972 text-decoration none
2973 . site-header-nav-item.active
2974 color #333
2975 . menu
2976 margin-top 16px
2977 margin-bottom 16px
2978 list-style none
2979 background-color #fff
2980 border 1px solid #e5e5e5
2981 border-radius 6px
2982 box-shadow 0 1px 1px rgba(0,0,0,.1)
2983 . menu-item
2984 display block
2985 padding 12px 15px
2986 . menu-item:first-child
2987 border-top 0
2988 border-top-left-radius 6px
2989 border-top-right-radius 6px
2990 . menu-item:last-child
2991 border-bottom 0
2992 border-bottom-right-radius 6px
2993 border-bottom-left-radius 6px
2994 . menu-item:hover
2995 text-decoration none
2996 background-color #f5f5f5
2997 . menu-item.selected
2998 font-weight 500
2999 color #3c4146
3000 cursor default
3001 background-color #fff
3002 . page-section
3003 padding 32px 0
3004 margin-top 0
3005 media (min-width:768px)
3006 . page-section
3007 padding 64px 0
3008 . data-table
3009 width 100%
3010 margin-top 16px
3011 border-collapse initial
3012 border 1px solid #e5e5e5
3013 border-radius 4px
3014 box-shadow 0 1px 1px rgba(0,0,0,.05)
3015 . data-table td
3016 + .data-table th
3017 padding .5em
3018 border-right 1px solid #e5e5e5
3019 border-bottom 1px solid #e5e5e5
3020 . data-table td:last-child
3021 + .data-table th:last-child
3022 border-right 0
3023 . data-table th
3024 font-size 14px
3025 font-weight 400
3026 color #aaa
3027 text-align left
3028 . data-table tbody th
3029 width 20%
3030 . data-table tr:last-child td
3031 border-bottom 0
3032 . breadcrumb li
3033 display inline
3034 margin-left 0
3035 list-style none
3036 . breadcrumb li::after
3037 padding 0 2px 0 5px
3038 color #aaa
3039 content "/"
3040 . breadcrumb .breadcrumb-selected::after
3041 content " "
3042 media screen and (min-width:700px)
3043 . site-header-logo
3044 font-size 18px
3045 . site-header-nav
3046 margin-top 0
3047 . header-enterprise-version
3048 color #3c4146
3049 font-weight 700
3050 < #searchfield
3051 padding 2px 5px 2px 25px
3052 width 160px
3053 font-weight 400
3054 border-width 0
3055 background url(/assets/images/search.png) 8px center no-repeat #202326
3056 transition width .3s ease-in-out 0s
3057 color #fff
3058 < #searchfield::-webkit-input-placeholder
3059 color #767676
3060 < #searchfield::-moz-placeholder
3061 color #767676
3062 < #searchfield:-ms-input-placeholder
3063 color #767676
3064 < #searchfield:-moz-placeholder
3065 color #767676
3066 < #searchfield:focus
3067 box-shadow inset 0 1px 2px rgba(0,0,0,.075),0 0 6px rgba(0,121,209,.5)
3068 < #searchfield::-ms-clear
3069 height 0
3070 width 0
3071 < #search-container.active #searchfield
3072 + #searchfield:focus
3073 width 210px
3074 media screen and (max-width:550px)
3075 . site-header-search
3076 display block
3077 margin-top 10px
3078 . site-header-nav-item+.site-header-search
3079 margin-left 0
3080 < #searchfield
3081 width 200px
3082 < #search-container.active #searchfield
3083 + #searchfield:focus
3084 width 260px
3085 < a.site-header-nav-item:hover
3086 color rgba(255,255,255,.7)
3087 . cancel-search
3088 position absolute
3089 right 10px
3090 top 10px
3091 background url(/assets/images/cancel.png) no-repeat
3092 width 14px
3093 height 14px
3094 display none
3095 < #search-container.active .cancel-search
3096 display block
3097 < #search-results
3098 position absolute
3099 top 41px
3100 right 0
3101 width 260px
3102 background-color #3c4146
3103 border-radius 4px
3104 min-height 40px
3105 z-index 100
3106 overflow hidden
3107 box-shadow 0 1px 3px rgba(0,0,0,.4)
3108 visibility hidden
3109 opacity 0
3110 padding-left 0
3111 < #search-container.active #searchfield:focus~#search-results
3112 + #search-results:active
3113 + #search-results:focus
3114 + #search-results:hover
3115 visibility visible
3116 opacity 1
3117 transition opacity .3s ease-in-out 0s
3118 < #search-results li
3119 display block
3120 width 100%
3121 border-bottom 1px solid #202326
3122 text-align left
3123 < #search-results .result a
3124 display block
3125 text-shadow none
3126 padding 10px
3127 < #search-results .result a:hover
3128 text-decoration none
3129 < #search-results .placeholder
3130 text-align center
3131 font-size 12px
3132 font-weight 400
3133 padding 20px 0
3134 color rgba(255,255,255,.7)
3135 < #search-results em
3136 font-weight 700
3137 < #search-results .result em
3138 display block
3139 font-weight 400
3140 font-style normal
3141 line-height 1em
3142 . result small
3143 font-size 12px
3144 color #5c5c5c
3145 line-height 1em
3146 . result.selected
3147 + .result:hover
3148 background-color #0079d1!important
3149 . result.selected em
3150 + .result.selected small
3151 + .result:hover em
3152 + .result:hover small
3153 color #fff!important
3154 < #search-results li:last-child
3155 border-bottom none
3156 . site-header
3157 background-color #3c4146
3158 border-bottom-color #202326
3159 . site-header-nav a
3160 color #fff
3161 . hero-img
3162 margin 0 auto 0 50%
3163 max-width 800px
3164 -webkit-transform translateX(-50%)
3165 transform translateX(-50%)
3166 media (min-width:768px)
3167 . hero-img
3168 -webkit-transform translateX(0)!important
3169 transform translateX(0)!important
3170 min-width none
3171 margin-left 0!important
3172 max-width 90%
3173 . flash-header
3174 font-size 20px
3175 font-weight 300
3176 color rgba(255,255,255,.8)
3177 . flash-header a
3178 color #fff!important
3179 font-weight 400
3180 . sub-nav
3181 position relative
3182 . sub-nav h2
3183 margin 0 0 20px
3184 font-size 22px
3185 . sub-nav h2 a
3186 color #333
3187 . sub-nav h2 a
3188 + .sub-nav li a
3189 font-weight 400
3190 text-decoration none
3191 . sub-nav ul
3192 margin 0
3193 padding 0
3194 list-style none
3195 border-left 1px solid #ddd
3196 . sub-nav ul li
3197 display block
3198 . sub-nav ul a
3199 display block
3200 color #767676
3201 font-size 14px
3202 padding 6px 12px
3203 . sub-nav ul a.active
3204 color #222
3205 border-left 2px solid #d8d8d8
3206 padding-left 10px
3207 . sub-nav ul a:hover
3208 color #005b9e
3209 media screen and (min-width:469px)
3210 . sub-nav
3211 border-bottom 1px solid #ddd
3212 . sub-nav h2
3213 margin 0 0 10px
3214 . sub-nav ul
3215 display block
3216 position absolute
3217 right 0
3218 bottom 0
3219 border none
3220 . sub-nav ul a
3221 + .sub-nav ul li
3222 display inline-block
3223 width auto
3224 . sub-nav ul li
3225 margin-left 16px
3226 . sub-nav ul a
3227 padding 0 0 8px
3228 . sub-nav ul a.active
3229 padding-left 0
3230 border-left none
3231 border-bottom 2px solid #d8d8d8
3232 . sidebar-module h3
3233 + .sidebar-shell
3234 position relative
3235 . homepage-jumbotron:after
3236 + .libraries-jumbotron:after
3237 display none
3238 . nav-select.nav-select-bottom
3239 padding 0 12px
3240 . nav-select .form-select
3241 width 100%
3242 . highlight-module .mega-octicon
3243 font-size 70px
3244 width 70px
3245 height 70px
3246 text-align center
3247 color #333
3248 . homepage-jumbotron
3249 max-width 1020px
3250 padding-left 20px
3251 padding-right 20px
3252 margin 0 auto
3253 position relative
3254 background-color #fff
3255 background-image url(/assets/images/rocketship.png)
3256 background-position 50% 10px
3257 background-repeat no-repeat
3258 background-size 303px 187px
3259 . homepage-jumbotron .jumbotron-text
3260 margin 160px auto 0
3261 text-align center
3262 max-width 350px
3263 media screen and (min-width:544px)
3264 . homepage-jumbotron
3265 background-position 100% 50%
3266 . homepage-jumbotron .jumbotron-text
3267 text-align left
3268 margin 0
3269 media screen and (min-width:768px)
3270 . homepage-jumbotron
3271 background-position 50% 10px
3272 background-size 455px 281px
3273 . homepage-jumbotron .jumbotron-text
3274 margin 210px auto 0
3275 text-align center
3276 max-width 500px
3277 media screen and (min-width:900px)
3278 . homepage-jumbotron
3279 background-position 100% 50%
3280 background-size 530px 327px
3281 . homepage-jumbotron .jumbotron-text
3282 margin 0
3283 text-align left
3284 max-width 500px
3285 . libraries-jumbotron
3286 margin-bottom 2em
3287 padding-top 0
3288 background-color #fff
3289 text-align center
3290 border-bottom 1px solid #ddd
3291 overflow hidden
3292 . libraries-jumbotron li
3293 margin 0
3294 padding 0
3295 . libraries-jumbotron .gundamcat
3296 width 263px
3297 height 218px
3298 . octokit-links
3299 width 190px
3300 display inline-block
3301 font-size 20px
3302 . octokit-language
3303 text-align left
3304 . octokit-language span
3305 width 70px
3306 display inline-block
3307 text-align right
3308 margin-right 10px
3309 color #333
3310 . octokit-language a
3311 width 100px
3312 display inline-block
3313 media screen and (min-width:660px)
3314 . libraries-jumbotron
3315 padding-top 36px
3316 text-align left
3317 . libraries-jumbotron .gundamcat
3318 float right
3319 media screen and (min-width:768px)
3320 . libraries-jumbotron .gundamcat
3321 width 368px
3322 height 305px
3323 margin-left 20px
3324 . octokit-links
3325 font-size 24px
3326 media screen and (min-width:960px)
3327 . libraries-jumbotron .gundamcat
3328 width 526px
3329 height 473px
3330 margin-left 20px
3331 margin-bottom -120px
3332 position relative
3333 top 20px
3334 . library-list h2
3335 font-size 24px
3336 . library-list>ul
3337 list-style none
3338 . library-list>ul li
3339 margin-bottom .5em
3340 media screen and (min-width:768px)
3341 . library-list h2
3342 margin-bottom -27px
3343 margin-left 0
3344 max-width 190px
3345 . library-list>ul
3346 padding-left 0
3347 margin-bottom 40px
3348 . library-list>ul li
3349 padding-left 220px
3350 font-size 20px
3351 . sidebar-module
3352 border-radius 4px
3353 overflow hidden
3354 margin-bottom 20px
3355 font-size 12px
3356 border 1px solid #ddd
3357 padding 0
3358 . sidebar-menu
3359 margin-top 12px
3360 list-style none
3361 background-color #fff
3362 border 1px solid #e5e5e5
3363 border-radius 6px
3364 box-shadow 0 1px 1px rgba(0,0,0,.1)
3365 . sidebar-module ul
3366 margin 0
3367 padding 0
3368 . sidebar-module.notice
3369 background #fafafb
3370 border-radius 4px
3371 line-height 1.5em
3372 . notice>p
3373 padding 12px
3374 margin 0
3375 . sidebar-module li
3376 list-style-type none
3377 . headlines li:last-child
3378 + .sidebar-module ul li:last-child h3
3379 border-bottom none
3380 . sidebar-module ul li:last-child ul li:first-child
3381 border-top 1px solid #eee
3382 . headlines>li
3383 + .sidebar-module ul h3
3384 margin 0
3385 color #666
3386 border-bottom 1px solid #eee
3387 font-size 14px
3388 . headlines>li>a
3389 color #333
3390 display block
3391 padding 10px
3392 text-decoration none
3393 font-size 15px
3394 font-weight 300
3395 . headlines>li>a:hover
3396 color #327fc7
3397 . headlines>li>a>.date
3398 font-weight 400
3399 font-size 12px
3400 color #888
3401 . headlines li:hover
3402 background-color #fdfdfd
3403 . sidebar-module h3 a
3404 padding 8px 10px
3405 color #555
3406 text-decoration none
3407 display block
3408 . sidebar-module h3 a:hover
3409 text-decoration none
3410 color #327fc7
3411 background-color #fdfdfd
3412 . sidebar-module ul ul li
3413 border-bottom 1px solid #eee
3414 font-weight 700
3415 color #666
3416 background-color #f9f9f9
3417 . js-current .standalone a
3418 + .sidebar-module .disable>a
3419 color #333
3420 border-left 2px solid #d26911
3421 background-color #f4f4f4
3422 . sidebar-module ul li:last-child ul li:last-child
3423 border-bottom none
3424 . sidebar-module .disable>a
3425 padding-left 26px
3426 . js-current .standalone a
3427 padding-left 8px
3428 . sidebar-module ul ul li a
3429 padding 6px 0 6px 28px
3430 display block
3431 text-decoration none
3432 font-weight 400
3433 . sidebar-module ul ul li a:hover
3434 background-color #f2f2f2
3435 color #005b9e
3436 . sidebar-module a+a
3437 padding-left 27px
3438 . sidebar-module .arrow-btn
3439 background-image url(/assets/images/expand-arrows.png)
3440 background-repeat no-repeat
3441 background-position -3px -3px
3442 width 30px
3443 height 50px
3444 padding 0 4px
3445 text-decoration none
3446 position absolute
3447 left 0
3448 top 0
3449 background-color transparent
3450 . arrow-btn.expanded
3451 background-position -41px -3px
3452 . arrow-btn.collapsed:hover
3453 background-position -3px -43px
3454 background-color transparent
3455 . arrow-btn.expanded:hover
3456 background-position -41px -43px
3457 background-color transparent
3458 . alert
3459 + .warning
3460 position relative
3461 padding 15px 15px 0
3462 margin-bottom 20px
3463 border-radius 3px
3464 font-weight 400
3465 . alert
3466 color #264c72
3467 border 1px solid #97c1da
3468 background-color #d8ebf8
3469 . alert.danger
3470 color #9c2400
3471 background-color #f8d8d8
3472 background -webkit-linear-gradient(#f8d8d8,#efd0d0)
3473 -ms-filter "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8d8d8', endColorstr='#efd0d0')"
3474 border 1px solid #da9797
3475 . warning
3476 color #613A00
3477 border 1px solid #dca874
3478 background-color #ffe3c8
3479 . alert table
3480 background-color #d8ebf8
3481 . warning table
3482 background-color #ffe3c8
3483 . api-status
3484 font-size 14px
3485 . api-status a
3486 color #999
3487 background-position center bottom
3488 background-repeat no-repeat
3489 padding-bottom 40px
3490 display block
3491 . api-status .unknown
3492 background-image url(/assets/images/status-icon-unknown.png)
3493 . api-status .good
3494 color #227b41
3495 background-image url(/assets/images/status-icon-good.png)
3496 . api-status .minor
3497 color #ed8b3f
3498 background-image url(/assets/images/status-icon-minor.png)
3499 . api-status .major
3500 color #ad1a05
3501 background-image url(/assets/images/status-icon-major.png)
3502 . api-status a:hover
3503 text-decoration none
3504 color #327fc7
3505 . dev-program-jumbotron
3506 background-color #160625
3507 position relative
3508 text-align center
3509 overflow hidden
3510 . dev-program-jumbotron .jumbotron-text
3511 position relative
3512 z-index 2
3513 . dev-program-jumbotron h1
3514 font-size 28px
3515 color #eee
3516 . dev-program-jumbotron .lead
3517 font-size 16px
3518 color #a397ad
3519 . earth-animation
3520 width 320px
3521 height 267px
3522 position relative
3523 margin -40px -15px -5px
3524 z-index 1
3525 . earth-animation .earth-loop
3526 + .earth-animation.show-loop .earth-intro
3527 display none
3528 . earth-animation.show-loop .earth-loop
3529 display block
3530 . anchor
3531 + body.dev-mode.enterprise .not-enterprise
3532 + body:not(.enterprise) .enterprise-only
3533 display none
3534 . earth-animation img
3535 position absolute
3536 top 0
3537 left 0
3538 width 100%
3539 height 100%
3540 media screen and (min-width:768px)
3541 . dev-program-jumbotron h1
3542 font-size 36px
3543 . dev-program-jumbotron .lead
3544 font-size 20px
3545 . earth-animation
3546 width 450px
3547 height 375px
3548 margin-top -80px
3549 margin-bottom -40px
3550 media screen and (min-width:900px)
3551 . dev-program-jumbotron
3552 text-align left
3553 . dev-program-jumbotron .jumbotron-text
3554 max-width 500px
3555 . earth-animation
3556 float right
3557 margin -40px
3558 . dev-program-callout
3559 overflow hidden
3560 background #160625
3561 . dev-program-callout h2
3562 margin 0
3563 color #eee
3564 . dev-program-callout p
3565 margin 10px 0 0
3566 font-size 16px
3567 color #a397ad
3568 . dev-program-callout .container
3569 padding-top 40px
3570 padding-bottom 90px
3571 background url(/assets/images/callout-earth-static.png) 50% 130px no-repeat #160625
3572 background-size 360px 300px
3573 text-align center
3574 media screen and (min-width:468px)
3575 . earth-animation
3576 width 450px
3577 height 375px
3578 . dev-program-callout .container
3579 padding-bottom 120px
3580 background-position 50% 90px
3581 media screen and (min-width:820px)
3582 . dev-program-callout
3583 padding-bottom 0
3584 . dev-program-callout .container
3585 padding-bottom 40px
3586 background-position 105% -10px
3587 text-align left
3588 media screen and (min-width:920px)
3589 . dev-program-callout .container
3590 background-size 480px 400px
3591 background-position 105% -25px
3592 < body.dev-mode .enterprise-only
3593 border 3px solid red
3594 < body.dev-mode .not-enterprise
3595 border 3px dashed #00f
3596 . content .anchor
3597 display inline-block
3598 position absolute
3599 left -32px
3600 top 0
3601 opacity 0
3602 padding 0 5px 0 10px
3603 height 100%
3604 font normal normal 16px/20px octicons
3605 -webkit-font-smoothing antialiased
3606 color #333
3607 transition opacity .3s ease-in-out 0s
3608 . content
3609 + .content h1
3610 + .content h2
3611 + .content h3
3612 + .content h4
3613 + ol
3614 + ol>li
3615 position relative
3616 < dt
3617 + ol>li:before
3618 font-weight 700
3619 . content h1 .anchor
3620 line-height 43px
3621 . content h2 .anchor
3622 line-height 33px
3623 . content h3 .anchor
3624 line-height 25px
3625 . content h1:hover .anchor
3626 + .content h2:hover .anchor
3627 + .content h3:hover .anchor
3628 + .content h4:hover .anchor
3629 opacity 1
3630 text-decoration none
3631 media screen and (min-width:768px)
3632 < h1
3633 font-size 36px
3634 < h2
3635 font-size 28px
3636 < h3
3637 font-size 18px
3638 . change>.title
3639 line-height 1.4em
3640 margin 0
3641 padding-left 0
3642 font-size 30px
3643 < h2 span.step
3644 color #666
3645 < a
3646 color #4183C4
3647 text-decoration none
3648 < a:active
3649 + a:hover
3650 outline-width 0
3651 color #005b9e
3652 text-decoration underline
3653 . button:hover
3654 + .rss-subscribe
3655 + .rss-subscribe:hover
3656 + a.tooltip-link
3657 text-decoration none
3658 < blockquote
3659 margin 0 -5px
3660 padding 0 20px
3661 < dd
3662 padding-left 1em
3663 margin-bottom 1em
3664 < dd+dd
3665 margin-bottom 0
3666 < a img
3667 border 0
3668 . button
3669 + .button-secondary
3670 background-color #297fc7
3671 color #fff
3672 font-size 16px
3673 padding 15px
3674 border-radius 5px
3675 . button:hover
3676 background-color #3088d0
3677 . button-secondary
3678 background-color #738797
3679 font-size 15px
3680 padding 12px
3681 -webkit-backface-visibility hidden
3682 . button-secondary:hover
3683 text-decoration none
3684 background-color #7e909e
3685 . rss-subscribe
3686 display block
3687 padding 15px 14px 16px 47px
3688 background url(/assets/images/feed-icon.png) 10px center no-repeat
3689 color #444
3690 font-size 13px
3691 . content
3692 + pre
3693 color #393939
3694 . rss-subscribe:hover
3695 background-color #f4f4f7
3696 . content
3697 z-index 2
3698 font-size 14px
3699 line-height 1.5em
3700 . blog .content
3701 margin-bottom 60px
3702 . content dt
3703 color #666
3704 . content ol
3705 margin-left 1.5em
3706 . content ul
3707 margin 1.5em
3708 list-style-type disc
3709 . content dd ul
3710 margin-top 0
3711 . content li
3712 margin .5em 0
3713 . content img
3714 max-width 100%
3715 margin 12px 0
3716 < ol
3717 counter-reset li
3718 list-style none
3719 padding-bottom 10px
3720 < ol>li
3721 padding 5px 0 5px 55px
3722 margin-bottom 5px
3723 < ol>li:before
3724 content counter(li)
3725 counter-increment li
3726 position absolute
3727 top 0
3728 left 0
3729 height 100%
3730 width 30px
3731 padding 0 10px 0 0
3732 color #999
3733 font-size 22px
3734 line-height 35px
3735 text-align right
3736 border-right 1px solid #ddd
3737 < ol>li>p:first-child
3738 margin-top 0
3739 < ol>li:after
3740 content "."
3741 display block
3742 visibility hidden
3743 line-height 0
3744 height 0
3745 . content ol>li img
3746 max-width 100px
3747 margin 0 0 0 10px
3748 float right
3749 border 1px solid #ddd
3750 cursor pointer
3751 . content ol>li img.expanded
3752 max-width 400px
3753 . content .full-image
3754 position absolute
3755 top 5px
3756 right -20px
3757 z-index 100
3758 . content .full-image img
3759 position absolute
3760 top 0
3761 right 20px
3762 margin 0
3763 max-width 600px
3764 box-shadow 0 0 3px rgba(0,0,0,.2)
3765 . content .full-image:hover .octicon
3766 + .full-image:hover .mini-icon
3767 color #666
3768 . content .full-image .octicon
3769 + .full-image .octicon-x
3770 position absolute
3771 top 0
3772 right 0
3773 color #999
3774 cursor pointer
3775 . content .description
3776 margin-left 20px
3777 . content .sectionbody .dlist dt
3778 + .content .verseblock-content
3779 + .content dl code
3780 + .content p>tt
3781 + .content ul code
3782 + p code
3783 border-radius 3px
3784 border 1px solid #ccc
3785 background-color #f9f9f9
3786 display inline-block
3787 . content ul pre code
3788 border none
3789 . content .sectionbody .dlist dt
3790 margin-top 10px
3791 . content .verseblock-content
3792 padding 3px
3793 . content .intro
3794 color #868686
3795 . article-content ul
3796 margin 1.5em
3797 . change
3798 padding-bottom 40px
3799 . change .meta
3800 font-size 13px
3801 margin 3px 0 20px
3802 . change .meta ul
3803 margin 0
3804 padding 0
3805 . change .meta ul img
3806 margin -1px 0 0
3807 border-radius 2px
3808 . who_when a
3809 padding-left 2px
3810 color #999
3811 . change .who_when .author
3812 color #eee
3813 . change .who_when .published
3814 color #ccc
3815 . meta li
3816 color #999
3817 padding-right 20px
3818 list-style none
3819 display inline
3820 . published span
3821 color #999
3822 padding-bottom 4px
3823 . tooltip-text
3824 display none
3825 position absolute
3826 bottom 0
3827 border 1px solid #333
3828 background-color #161616
3829 border-radius 5px
3830 padding 10px
3831 color #fff
3832 font-family Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Oxygen,Ubuntu,Cantarell,"Open Sans",sans-serif
3833 font-size 12px
3834 < #markdown-toc
3835 margin 1em 1.5em 2em
3836 < #markdown-toc li
3837 font-size 14px
3838 list-style-type lower-roman
3839 margin .25em 0
3840 < #markdown-toc li a
3841 color #333
3842 text-decoration underline
3843 < #markdown-toc li a:hover
3844 color #327fc7
3845 . content table
3846 width 100%
3847 overflow auto
3848 display block
3849 margin 15px 0
3850 . content thead
3851 margin 0
3852 padding 0
3853 border 0
3854 font inherit
3855 vertical-align baseline
3856 . field-name
3857 + code
3858 + pre
3859 font-family Consolas,"Liberation Mono",Menlo,Courier,monospace
3860 . content table th
3861 + .deprecation-notice .deprecation-title
3862 + .field-name
3863 + .pagination a
3864 + .pagination em
3865 + .pagination>span
3866 + code .cp
3867 + code .cs
3868 + code .k
3869 + code .kc
3870 + code .kd
3871 + code .kp
3872 + code .kr
3873 + code .kt
3874 + code .nc
3875 + code .ne
3876 + code .nf
3877 + code .o
3878 + code .ow
3879 font-weight 700
3880 . content table th
3881 border 1px solid #ddd
3882 padding 6px 13px
3883 text-align center
3884 . content tbody
3885 vertical-align middle
3886 border-color inherit
3887 . content table tr
3888 border-top 1px solid #ccc
3889 background-color #fff
3890 vertical-align inherit
3891 . content table td
3892 border 1px solid #ddd
3893 padding 6px 13px
3894 . content p.explorer-link
3895 margin-bottom 5px
3896 font-size 13px
3897 < code
3898 + pre
3899 font-size 12px
3900 < code
3901 padding 0
3902 background 0 0
3903 < pre code .bluebox
3904 + pre code .greenbox
3905 + pre code .redbox
3906 padding 2px
3907 margin-right 2px
3908 < pre code
3909 white-space pre
3910 < pre code:after
3911 + pre code:before
3912 content ""
3913 < pre code .redbox
3914 border 2px solid #d9534f
3915 border-radius 2px
3916 < pre code .greenbox
3917 border 2px solid #5cb85c
3918 border-radius 2px
3919 < pre code .bluebox
3920 border 2px solid #428bca
3921 border-radius 2px
3922 < pre
3923 border 1px solid #cacaca
3924 line-height 1.4em
3925 padding 10px
3926 overflow auto
3927 border-radius 3px
3928 background-color #fafafb
3929 margin 2em 0
3930 < ul+pre
3931 margin-top 1em
3932 < pre span.comment
3933 color #aaa
3934 . highlight-headers
3935 margin-bottom 0
3936 border-radius 3px
3937 border-bottom 1px solid #CACACA
3938 background-color #f4f4f4
3939 . highlight-headers+pre
3940 border-radius 0 0 3px 3px
3941 margin-top 0
3942 border-top-color #ddd
3943 . highlight-headers+pre.highlight
3944 margin-top -2px
3945 . highlight-headers+:not(pre)
3946 margin-top 24px
3947 . command-line
3948 background-color #444
3949 color #fff
3950 border-radius 3px
3951 border none
3952 position relative
3953 . command-line em
3954 color #f9fe64
3955 . command-line span.comment
3956 color #ccc
3957 . command-line span.output
3958 color #63E463
3959 . highlight-graphql .k
3960 color #a71d5d
3961 . highlight-graphql .n
3962 color #ed6a43
3963 . highlight-graphql .err
3964 background-color transparent
3965 < #staging-header
3966 line-height 34px
3967 color rgba(255,255,255,.5)
3968 background-color #222
3969 < #staging-header p
3970 color #fff
3971 font-size 12px
3972 padding-left 20px
3973 margin 0
3974 . integrations-2-marker
3975 padding-left 10px
3976 . deprecation-notice
3977 border-left 2px solid #e8400d
3978 background #fdf2ec
3979 . deprecation-notice p
3980 margin-bottom 0
3981 . github-apps-marker
3982 padding-bottom 5px
3983 padding-left 5px
3984 media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:192dpi)
3985 < #searchfield
3986 background-image url(/assets/images/search@2x.png)
3987 background-size 13px 13px
3988 . cancel-search
3989 background-image url(/assets/images/cancel@2x.png)
3990 background-size 14px 14px
3991 . sidebar-module .arrow-btn
3992 background-image url(/assets/images/expand-arrows@2x.png)
3993 background-size 73px 80px
3994 . api-status .good
3995 + .api-status .major
3996 + .api-status .minor
3997 + .api-status .unknown
3998 background-size 32px 32px
3999 . api-status .unknown
4000 background-image url(/assets/images/status-icon-unknown@2x.png)
4001 . api-status .good
4002 background-image url(/assets/images/status-icon-good@2x.png)
4003 . api-status .minor
4004 background-image url(/assets/images/status-icon-minor@2x.png)
4005 . api-status .major
4006 background-image url(/assets/images/status-icon-major@2x.png)
4007 . rss-subscribe
4008 background-image url(/assets/images/feed-icon@2x.png)
4009 background-size 28px 28px
4010 . pagination a
4011 + .pagination em
4012 + .pagination>span
4013 position relative
4014 margin-left -1px
4015 font-size 13px
4016 font-style normal
4017 padding 7px 12px
4018 color #4078c0
4019 white-space nowrap
4020 vertical-align middle
4021 cursor pointer
4022 background #fff
4023 border 1px solid #e5e5e5
4024 -webkit-user-select none
4025 -moz-user-select none
4026 -ms-user-select none
4027 user-select none
4028 < code .c
4029 + code .c1
4030 + code .cm
4031 + code .cs
4032 + code .ge
4033 font-style italic
4034 . pagination a:first-child
4035 + .pagination em:first-child
4036 + .pagination>span:first-child
4037 margin-left 0
4038 border-top-left-radius 3px
4039 border-bottom-left-radius 3px
4040 . pagination a:last-child
4041 + .pagination em:last-child
4042 + .pagination>span:last-child
4043 border-top-right-radius 3px
4044 border-bottom-right-radius 3px
4045 . pagination a:focus
4046 + .pagination a:hover
4047 + .pagination em:focus
4048 + .pagination em:hover
4049 + .pagination>span:focus
4050 + .pagination>span:hover
4051 z-index 2
4052 background-color #e7e7e7
4053 border-color #e5e5e5
4054 text-decoration none
4055 . pagination .selected
4056 z-index 3
4057 . pagination .current
4058 + .pagination .current:hover
4059 z-index 3
4060 color #fff
4061 background-color #4078c0
4062 border-color #4078c0
4063 . pagination .disabled
4064 + .pagination .disabled:hover
4065 + .pagination .gap
4066 + .pagination .gap:hover
4067 background-color #fafafa
4068 cursor default
4069 color #d3d3d3
4070 . pagination .octicon
4071 width 8px
4072 text-align center
4073 . ajax_paginate
4074 display block
4075 . ajax_paginate a
4076 float none
4077 display block
4078 padding 6px
4079 text-align center
4080 . ajax_paginate.loading a
4081 text-indent -3000px
4082 background-color #eaeaea
4083 background-image url(/images/spinners/octocat-spinner-16px-EAF2F5.gif)
4084 background-repeat no-repeat
4085 background-position center center
4086 border-color #c5c5c5
4087 media screen and (-webkit-min-device-pixel-ratio:2),screen and (max--moz-device-pixel-ratio:2)
4088 . ajax_paginate.loading a
4089 background-image url(/images/spinners/octocat-spinner-32-EAF2F5.gif)
4090 background-size 16px auto
4091 . paginate-wrap
4092 margin-bottom 15px
4093 text-align center
4094 . paginate-wrap .pagination
4095 display inline-block
4096 < code .c
4097 color #998
4098 < code .err
4099 color #a61717
4100 background-color #e3d2d2
4101 < code .cm
4102 color #998
4103 < code .cp
4104 color #999
4105 < code .c1
4106 color #998
4107 < code .cs
4108 color #999
4109 < code .gd
4110 color #000
4111 background-color #fdd
4112 < code .gd .x
4113 color #000
4114 background-color #faa
4115 < code .gr
4116 color #a00
4117 < code .gh
4118 color #999
4119 < code .gi
4120 color #000
4121 background-color #dfd
4122 < code .gi .x
4123 color #000
4124 background-color #afa
4125 < code .go
4126 color #888
4127 < code .gp
4128 color #555
4129 < code .gs
4130 font-weight 700
4131 < code .gu
4132 color #aaa
4133 < code .gt
4134 color #a00
4135 < code .kt
4136 color #458
4137 < code .m
4138 color #099
4139 < code .s
4140 color #d14
4141 < code .na
4142 color teal
4143 < code .nb
4144 color #0086B3
4145 < code .nc
4146 color #458
4147 < code .no
4148 color teal
4149 < code .ni
4150 color purple
4151 < code .ne
4152 + code .nf
4153 color #900
4154 < code .nn
4155 color #555
4156 < code .nt
4157 color navy
4158 < code .nv
4159 color teal
4160 < code .w
4161 color #bbb
4162 < code .mf
4163 + code .mh
4164 + code .mi
4165 + code .mo
4166 color #099
4167 < code .s2
4168 + code .sb
4169 + code .sc
4170 + code .sd
4171 + code .se
4172 + code .sh
4173 + code .si
4174 + code .sx
4175 color #d14
4176 < code .sr
4177 color #009926
4178 < code .s1
4179 color #d14
4180 < code .ss
4181 color #990073
4182 < code .bp
4183 color #999
4184 < code .vc
4185 + code .vg
4186 + code .vi
4187 color teal
4188 < code .il
4189 color #099
4190 . field-entry code
4191 + .field-name code
4192 font-size 1em
4193 . field-entry code:after
4194 + .field-entry code:before
4195 + .field-name code:after
4196 + .field-name code:before
4197 display none
4198 . graphql-container
4199 margin-top 30px
4200 . graphql-wrapper
4201 height 660px
4202 < iframe#graphiql
4203 width 100%
4204 height inherit
4205 border 1px solid #ddd
4206 . btn
4207 + .btn:hover
4208 background-image none
4209 . bg-blue
4210 background-color #0079d1!important
4211 . btn:not(.btn-outline)
4212 box-shadow 0 0 4px rgba(0,0,0,.1)
4213 . overview .lead
4214 + .overview .text-alpha
4215 + .overview .text-beta
4216 + .overview .text-delta
4217 + .overview .text-gamma
4218 + .overview h1
4219 + .overview h2
4220 + .overview h3
4221 + .overview h4
4222 + .overview h5
4223 font-family Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Oxygen,Ubuntu,Cantarell,"Open Sans",sans-serif!important
4224 . link-mono
4225 + .text-mono
4226 font-family Consolas,"Liberation Mono",Menlo,Courier,monospace
4227 . link-mono
4228 box-shadow 0 1px 0 0 rgba(0,121,209,.3)
4229 . link-mono:hover
4230 text-decoration none
4231 box-shadow 0 1px 0 0 #0058a2
4232 < blockquote.blockquote-alt::before
4233 background url(../images/chevron-right.svg) 0 0/60px 60px no-repeat
4234 < a.card.bg-gray-light
4235 color #767676
4236 < a.card.bg-gray-light:hover
4237 background-color #f0f0f0!important
4238 < #mc_embed_signup div.mce_inline_error
4239 background-color #e8400d!important
4240 font-weight 400!important
4241 font-size 14px
4242 border-bottom-right-radius 3px
4243 border-bottom-left-radius 3px
4244 < input.mce_inline_error
4245 border-bottom-right-radius 0
4246 border-bottom-left-radius 0
4247 border-color #e8400d!important
4248 . bg-custom-gradient
4249 background-image linear-gradient(180deg,#f5f5f5,rgba(245,245,245,0))
4250 background-repeat no-repeat
4251 background-size 100% 200px
4252 . text-yellow
4253 color #f5a300

/src/ittf/jobs/ittf__copy/site/site/t/css/_old/algolia.css.ittf

    
1 $group
2 . algolia-autocomplete
3 display -webkit-box !important
4 display -ms-flexbox !important
5 display flex !important
6 position relative
7 . algolia-autocomplete .ds-dropdown-menu
8 box-shadow none
9 . algolia-autocomplete .ds-dropdown-menu:before
10 content none
11 . algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]
12 border-radius 0
13 border-color #8DD6F9
14 border-width 2px 0
15 box-shadow 0 0 4px rgba(0, 0, 0, 0.25)
16 padding 0
17 . algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content
18 background rgba(141, 214, 249, 0.1) !important
19 . algolia-autocomplete .algolia-docsearch-suggestion
20 padding 0
21 . algolia-autocomplete .algolia-docsearch-suggestion--wrapper
22 display -webkit-box
23 display -ms-flexbox
24 display flex
25 padding 0
26 . algolia-autocomplete .algolia-docsearch-suggestion--text
27 color #999999
28 . algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight
29 color #2086d7
30 box-shadow none
31 font-weight bold
32 . algolia-autocomplete .algolia-docsearch-suggestion--highlight
33 color #2086d7
34 background rgba(141, 214, 249, 0.15)
35 . algolia-autocomplete .algolia-docsearch-suggestion--category-header
36 text-transform uppercase
37 font-weight bold
38 font-size 0.9em
39 border-color #dedede
40 color #333333
41 margin 0
42 padding 6px 16px
43 . algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column
44 padding 8px 16px 8px 12px
45 background rgba(153, 153, 153, 0.08)
46 display block
47 color transparent
48 . algolia-autocomplete .algolia-docsearch-suggestion__secondary .algolia-docsearch-suggestion--subcategory-column
49 color #666666
50 . algolia-autocomplete .algolia-docsearch-suggestion--content
51 padding 8px 16px 8px 12px
52 . algolia-autocomplete .ds-suggestion:nth-child(n+2) .algolia-docsearch-suggestion--category-header
53 border-top 1px solid #dedede
54 . algolia-autocomplete .algolia-docsearch-suggestion--title
55 color #333333
56 . algolia-autocomplete .ds-suggestion:last-child .algolia-docsearch-suggestion--subcategory-column
57 + .algolia-autocomplete .ds-suggestion:last-child .algolia-docsearch-suggestion--content
58 padding-bottom 26px
59 . algolia-autocomplete .algolia-docsearch-footer
60 position absolute
61 bottom 4px
62 right 16px
63 . algolia-autocomplete .aa-suggestion-title-separator
64 color #999999

/src/ittf/jobs/ittf__copy/site/site/t/css/_old/article_webpack_code.css.ittf

    
1 $group
2 $$
3 $$ CODE
4 $$
5 . main-content code
6 + .main-content tt
7 + .splash__section code
8 + .splash__section tt
9 font-family "Source Code Pro", Consolas, "Liberation Mono", Menlo, Courier, monospace
10 font-size 90%
11 margin 0 2px
12 padding 2px 6px
13 white-space nowrap
14 background-color rgba(70, 94, 105, 0.06)
15 border-radius 3px
16 text-shadow 0 1px 0 rgba(255, 255, 255, 0.6)
17 . main-content a code
18 + .splash__section a code
19 color #2086d7
20 . main-content pre
21 + .splash__section pre
22 background-color rgba(238, 238, 238, 0.35)
23 background-color #2B3A42
24 $$ font-size 13px
25 font-size 14px
26 line-height 19px
27 overflow auto
28 padding 8px 16px
29 border-radius 3px
30 . main-content pre code
31 + .splash__section pre code
32 margin 0
33 padding 0
34 white-space pre
35 border none
36 background transparent
37 text-shadow 0 1px 0 rgba(23, 31, 35, 0.5)
38 color #a5cee1
39 . main-content pre code .code-details-summary-span
40 + .splash__section pre code .code-details-summary-span
41 margin-left -15px
42 cursor pointer
43 . main-content pre code a
44 + .splash__section pre code a
45 border-bottom 1px dotted #1D78C1
46 . main-content pre code .code-link
47 + .splash__section pre code .code-link
48 position relative
49 . main-content pre code .code-link:hover
50 + .splash__section pre code .code-link:hover
51 color #479ee3
52 . main-content pre code
53 + .main-content pre tt
54 + .splash__section pre code
55 + .splash__section pre tt
56 background-color transparent
57 border none
58 . main-content p code
59 + .main-content p tt
60 + .splash__section p code
61 + .splash__section p tt
62 max-width 100%
63 line-height initial
64 overflow auto
65 margin 0
66 vertical-align middle
67 . main-content span code
68 + .main-content span tt
69 + .splash__section span code
70 + .splash__section span tt
71 white-space pre-line

/src/ittf/jobs/ittf__copy/site/site/t/css/_old/article_webpack.css.ittf

    
1 $group
2 $$ changed page__content to main-content
3 . main-content
4 + .splash__section
5 line-height 1.5em
6 . main-content h1
7 + .splash__section h1
8 font-size 33px
9 . main-content h2
10 + .splash__section h2
11 font-size 28px
12 . main-content h3
13 + .splash__section h3
14 font-size 23px
15 . main-content h4
16 + .splash__section h4
17 font-size 19px
18 . main-content h5
19 + .splash__section h5
20 font-size 16px
21 . main-content h6
22 + .splash__section h6
23 font-size 13px
24 . main-content h1
25 + .main-content h2
26 + .main-content h3
27 + .main-content h4
28 + .main-content h5
29 + .main-content h6
30 + .splash__section h1
31 + .splash__section h2
32 + .splash__section h3
33 + .splash__section h4
34 + .splash__section h5
35 + .splash__section h6
36 font-family Geomanist, sans-serif
37 font-weight 600
38 line-height 1.4
39 margin 1.5em 0 0.25em
40 color #465E69
41 . main-content h1:first-child
42 + .main-content h2:first-child
43 + .main-content h3:first-child
44 + .main-content h4:first-child
45 + .main-content h5:first-child
46 + .main-content h6:first-child
47 + .splash__section h1:first-child
48 + .splash__section h2:first-child
49 + .splash__section h3:first-child
50 + .splash__section h4:first-child
51 + .splash__section h5:first-child
52 + .splash__section h6:first-child
53 margin-top 0
54 line-height 1
55 . main-content h1 tt
56 + .main-content h1 code
57 + .main-content h2 tt
58 + .main-content h2 code
59 + .main-content h3 tt
60 + .main-content h3 code
61 + .main-content h4 tt
62 + .main-content h4 code
63 + .main-content h5 tt
64 + .main-content h5 code
65 + .main-content h6 tt
66 + .main-content h6 code
67 + .splash__section h1 tt
68 + .splash__section h1 code
69 + .splash__section h2 tt
70 + .splash__section h2 code
71 + .splash__section h3 tt
72 + .splash__section h3 code
73 + .splash__section h4 tt
74 + .splash__section h4 code
75 + .splash__section h5 tt
76 + .splash__section h5 code
77 + .splash__section h6 tt
78 + .splash__section h6 code
79 font-size 90%
80 color inherit
81 . main-content p
82 + .main-content blockquote
83 + .main-content table
84 + .main-content pre
85 + .splash__section p
86 + .splash__section blockquote
87 + .splash__section table
88 + .splash__section pre
89 margin 1em 0
90 . main-content ul
91 + .main-content ol
92 + .main-content dl
93 + .splash__section ul
94 + .splash__section ol
95 + .splash__section dl
96 margin 0.5em 0 1em
97 . main-content li
98 + .splash__section li
99 margin 0.5em 0
100 . main-content hr
101 + .splash__section hr
102 border none
103 background-color #dedede
104 height 3px
105 margin 2em 0
106 . main-content ul
107 + .main-content ol
108 + .splash__section ul
109 + .splash__section ol
110 padding-left 30px
111 . main-content ul:first-child
112 + .main-content ol:first-child
113 + .splash__section ul:first-child
114 + .splash__section ol:first-child
115 margin-top 0
116 . main-content ul:last-child
117 + .main-content ol:last-child
118 + .splash__section ul:last-child
119 + .splash__section ol:last-child
120 margin-bottom 0
121 $$
122 $$ DL DT
123 $$
124 . main-content dl dt
125 + .splash__section dl dt
126 font-size 16px
127 font-weight bold
128 font-style italic
129 margin 15px 0 5px
130 . main-content dl dt:first-child
131 + .splash__section dl dt:first-child
132 padding 0
133 . main-content dl dd
134 + .splash__section dl dd
135 margin 0 0 15px
136 padding 0 15px
137 . main-content dl dt > :first-child
138 + .main-content dl dd > :first-child
139 + .splash__section dl dt > :first-child
140 + .splash__section dl dd > :first-child
141 margin-top 0
142 . main-content dl dt > :last-child
143 + .main-content dl dd > :last-child
144 + .splash__section dl dt > :last-child
145 + .splash__section dl dd > :last-child
146 margin-bottom 0
147 $$
148 $$ BLOCKQUOTE
149 $$
150 . main-content blockquote
151 + .splash__section blockquote
152 border-left 4px solid #dddddd
153 padding 0.75em 1em
154 color #666666
155 . main-content blockquote > :first-child
156 + .splash__section blockquote > :first-child
157 margin-top 0
158 . main-content blockquote > :last-child
159 + .splash__section blockquote > :last-child
160 margin-bottom 0
161 . main-content blockquote.tip
162 + .main-content blockquote.warning
163 + .main-content blockquote.todo
164 + .splash__section blockquote.tip
165 + .splash__section blockquote.warning
166 + .splash__section blockquote.todo
167 border-left none
168 border-radius 3px
169 . main-content blockquote.tip .tip-content
170 + .main-content blockquote.warning .tip-content
171 + .main-content blockquote.todo .tip-content
172 + .splash__section blockquote.tip .tip-content
173 + .splash__section blockquote.warning .tip-content
174 + .splash__section blockquote.todo .tip-content
175 font-style italic
176 . main-content blockquote.tip code
177 + .main-content blockquote.warning code
178 + .main-content blockquote.todo code
179 + .splash__section blockquote.tip code
180 + .splash__section blockquote.warning code
181 + .splash__section blockquote.todo code
182 color inherit
183 . main-content blockquote.tip
184 + .splash__section blockquote.tip
185 background-color #DCF2FD
186 color #618ca0
187 . main-content blockquote.warning
188 + .splash__section blockquote.warning
189 background-color #fbedb7
190 color #8c8466
191 . main-content blockquote.todo
192 + .splash__section blockquote.todo
193 background-color #fbddcd
194 color #907a6e
195 . main-content blockquote.todo .tip-content::before
196 + .splash__section blockquote.todo .tip-content::before
197 content '[TODO]: '
198 font-style normal
199 $$
200 $$ TABLE
201 $$
202 media (min-width: 768px)
203 . main-content .table
204 + .splash__section .table
205 overflow-x auto
206 overflow-y hidden
207 . main-content .table-wrap
208 + .splash__section .table-wrap
209 display block
210 width 100%
211 media (min-width: 768px)
212 . main-content .table-wrap
213 + .splash__section .table-wrap
214 display table
215 border-left 1px solid #cccccc
216 border-bottom 1px solid #cccccc
217 . main-content .table-tr
218 + .splash__section .table-tr
219 background-color white
220 margin 0
221 padding 0.25em 0
222 display block
223 border 1px solid #cccccc
224 border-bottom none
225 media (min-width: 768px)
226 . main-content .table-tr
227 + .splash__section .table-tr
228 border none
229 padding 0
230 display table-row
231 . main-content .table-tr:nth-child(2n)
232 + .splash__section .table-tr:nth-child(2n)
233 background-color #f8f8f8
234 . main-content .table-tr:last-child
235 + .splash__section .table-tr:last-child
236 border-bottom 1px solid #cccccc
237 . main-content .table-th
238 + .splash__section .table-th
239 font-weight bold
240 border-bottom none
241 text-align left
242 margin 0
243 padding 6px 12px
244 background #f1f4f4
245 . main-content .table-td
246 + .splash__section .table-td
247 text-align left
248 margin 0
249 padding 4px 12px
250 . main-content .table-td img
251 + .splash__section .table-td img
252 max-width none
253 . main-content .table-td-title
254 + .splash__section .table-td-title
255 display block
256 width 40%
257 media (min-width: 768px)
258 . main-content .table-td-title
259 + .splash__section .table-td-title
260 display none
261 width auto
262 . main-content .table-td-content
263 + .splash__section .table-td-content
264 display block
265 width 60%
266 . main-content .table-td-content code
267 + .splash__section .table-td-content code
268 white-space normal
269 word-break break-word
270 media (min-width: 768px)
271 . main-content .table-td-content
272 + .splash__section .table-td-content
273 width auto
274 . main-content .table-td-content code
275 + .splash__section .table-td-content code
276 word-break normal
277 white-space nowrap
278 . main-content .table-th
279 + .main-content .table-td
280 + .splash__section .table-th
281 + .splash__section .table-td
282 display -webkit-box
283 display -ms-flexbox
284 display flex
285 -ms-flex-preferred-size 100%
286 flex-basis 100%
287 -ms-flex-item-align stretch
288 align-self stretch
289 media (min-width: 768px)
290 . main-content .table-th
291 + .main-content .table-td
292 + .splash__section .table-th
293 + .splash__section .table-td
294 border-top 1px solid #cccccc
295 border-right 1px solid #cccccc
296 display table-cell
297 . main-content .table-header
298 + .splash__section .table-header
299 display none
300 . main-content .table-header .table-tr
301 + .splash__section .table-header .table-tr
302 border-bottom none
303 media (min-width: 768px)
304 . main-content .table-header
305 + .splash__section .table-header
306 display table-header-group
307 media (min-width: 768px)
308 . main-content .table-body
309 + .splash__section .table-body
310 display table-row-group
311 . main-content img
312 + .splash__section img
313 max-width 100%
314 . main-content b
315 + .main-content strong
316 + .splash__section b
317 + .splash__section strong
318 font-weight 600
319 . main-content i
320 + .main-content em
321 + .splash__section i
322 + .splash__section em
323 font-style italic

/src/ittf/jobs/ittf__copy/site/site/t/css/_old/code.css.ittf

    
1 $group
2 < code[class*="lang-"]
3 + pre[class*="lang-"]
4 text-align left
5 white-space pre
6 word-spacing normal
7 word-break normal
8 word-wrap normal
9 line-height 1.5
10 -moz-tab-size 4
11 -o-tab-size 4
12 tab-size 4
13 -webkit-hyphens none
14 -ms-hyphens none
15 hyphens none
16 color #a5cee1
17 -webkit-font-smoothing subpixel-antialiased
18 -moz-osx-font-smoothing auto
19 < code[class*="lang-"] a
20 + pre[class*="lang-"] a
21 color inherit
22 < pre[class*="lang-"]
23 padding .4em .8em
24 margin .5em 0
25 overflow auto
26 background-color #2B3A42
27 < :not(pre) > code[class*="lang-"]
28 padding .2em
29 border-radius .3em
30 box-shadow none
31 white-space normal
32 . token.comment
33 + .token.prolog
34 + .token.doctype
35 + .token.cdata
36 color #77858c
37 . token.punctuation
38 color #e1e6e9
39 . namespace
40 opacity .7
41 . token.property
42 + .token.tag
43 + .token.boolean
44 + .token.number
45 + .token.constant
46 + .token.symbol
47 color #53b7e6
48 . token.selector
49 + .token.string
50 + .token.char
51 + .token.builtin
52 + .token.regex
53 + .token.attr-value
54 + .token.important
55 color #4db277
56 . token.inserted
57 color #9df29d
58 . token.deleted
59 color #f79494
60 . token.operator
61 + .token.entity
62 + .token.url
63 + .language-css .token.string
64 + .toke.variable
65 color #a9becc
66 . token.atrule
67 + .token.attr-name
68 + .token.keyword
69 + .token.function
70 color #62b1d8
71 . token.important
72 + .token.bold
73 font-weight bold
74 . token.italic
75 font-style italic
76 . token.entity
77 cursor help

/src/ittf/jobs/ittf__copy/site/site/t/css/_old/container.css.ittf

    
1 $group
2 . container
3 width 100%
4 max-width 1024px
5 margin 0 auto

/src/ittf/jobs/ittf__copy/site/site/t/css/_old/grid.css.ittf

    
1 $group
2 < [class*=container]
3 width 100%
4 padding-left 20px
5 padding-right 20px
6 . container
7 max-width 1020px
8 . container-narrow
9 max-width 760px
10 . container-wide
11 max-width 1260px
12 . gut-1
13 margin-right -4px
14 margin-left -4px
15 . gut-1>[class*=col-]
16 padding-right 4px!important
17 padding-left 4px!important
18 . gut-2
19 margin-right -8px
20 margin-left -8px
21 . gut-2>[class*=col-]
22 padding-right 8px!important
23 padding-left 8px!important
24 . gut-3
25 margin-right -16px
26 margin-left -16px
27 . gut-3>[class*=col-]
28 padding-right 16px!important
29 padding-left 16px!important
30 . col-right
31 float right!important
32 . col-1
33 + .col-10
34 + .col-11
35 + .col-12
36 + .col-2
37 + .col-3
38 + .col-4
39 + .col-5
40 + .col-6
41 + .col-8
42 + .col-9
43 + .pagination a
44 + .pagination em
45 + .pagination>span
46 float left
47 . col-1
48 width calc(1/12 * 100%)
49 . col-2
50 width calc(2/12 * 100%)
51 . col-3
52 width calc(3/12 * 100%)
53 . col-4
54 width calc(4/12 * 100%)
55 . col-5
56 width calc(5/12 * 100%)
57 . col-6
58 width calc(6/12 * 100%)
59 . col-7
60 width calc(7/12 * 100%)
61 float left
62 . col-8
63 width calc(8/12 * 100%)
64 . col-9
65 width calc(9/12 * 100%)
66 . col-10
67 width calc(10/12 * 100%)
68 . col-11
69 width calc(11/12 * 100%)
70 media (min-width:544px)
71 . col-sm-1
72 width calc(1/12 * 100%)
73 float left
74 . col-sm-2
75 width calc(2/12 * 100%)
76 float left
77 . col-sm-3
78 width calc(3/12 * 100%)
79 float left
80 . col-sm-4
81 width calc(4/12 * 100%)
82 float left
83 . col-sm-5
84 width calc(5/12 * 100%)
85 float left
86 . col-sm-6
87 width calc(6/12 * 100%)
88 float left
89 . col-sm-7
90 width calc(7/12 * 100%)
91 float left
92 . col-sm-8
93 width calc(8/12 * 100%)
94 float left
95 . col-sm-9
96 width calc(9/12 * 100%)
97 float left
98 . col-sm-10
99 width calc(10/12 * 100%)
100 float left
101 . col-sm-11
102 width calc(11/12 * 100%)
103 float left
104 . col-sm-12
105 width 100%
106 float left
107 media (min-width:768px)
108 . page-section-jumplink:target
109 padding-top 80px
110 . col-md-1
111 width calc(1/12 * 100%)
112 float left
113 . col-md-2
114 width calc(2/12 * 100%)
115 float left
116 . col-md-3
117 width calc(3/12 * 100%)
118 float left
119 . col-md-4
120 width calc(4/12 * 100%)
121 float left
122 . col-md-5
123 width calc(5/12 * 100%)
124 float left
125 . col-md-6
126 width calc(6/12 * 100%)
127 float left
128 . col-md-7
129 width calc(7/12 * 100%)
130 float left
131 . col-md-8
132 width calc(8/12 * 100%)
133 float left
134 . col-md-9
135 width calc(9/12 * 100%)
136 float left
137 . col-md-10
138 width calc(10/12 * 100%)
139 float left
140 . col-md-11
141 width calc(11/12 * 100%)
142 float left
143 . col-md-12
144 width 100%
145 float left
146 . offset-1
147 margin-left calc(1/12 * 100%)
148 . offset-2
149 margin-left calc(2/12 * 100%)
150 . offset-3
151 margin-left calc(3/12 * 100%)
152 . offset-4
153 margin-left calc(4/12 * 100%)
154 . offset-5
155 margin-left calc(5/12 * 100%)
156 . offset-6
157 margin-left calc(6/12 * 100%)
158 . offset-7
159 margin-left calc(7/12 * 100%)
160 . offset-8
161 margin-left calc(8/12 * 100%)
162 . offset-9
163 margin-left calc(9/12 * 100%)
164 . offset-10
165 margin-left calc(10/12 * 100%)
166 . offset-11
167 margin-left calc(11/12 * 100%)
168 media (min-width:544px)
169 . offset-sm-1
170 margin-left calc(1/12 * 100%)
171 . offset-sm-2
172 margin-left calc(2/12 * 100%)
173 . offset-sm-3
174 margin-left calc(3/12 * 100%)
175 . offset-sm-4
176 margin-left calc(4/12 * 100%)
177 . offset-sm-5
178 margin-left calc(5/12 * 100%)
179 . offset-sm-6
180 margin-left calc(6/12 * 100%)
181 . offset-sm-7
182 margin-left calc(7/12 * 100%)
183 . offset-sm-8
184 margin-left calc(8/12 * 100%)
185 . offset-sm-9
186 margin-left calc(9/12 * 100%)
187 . offset-sm-10
188 margin-left calc(10/12 * 100%)
189 . offset-sm-11
190 margin-left calc(11/12 * 100%)
191 media (min-width:768px)
192 . offset-md-1
193 margin-left calc(1/12 * 100%)
194 . offset-md-2
195 margin-left calc(2/12 * 100%)
196 . offset-md-3
197 margin-left calc(3/12 * 100%)
198 . offset-md-4
199 margin-left calc(4/12 * 100%)
200 . offset-md-5
201 margin-left calc(5/12 * 100%)
202 . offset-md-6
203 margin-left calc(6/12 * 100%)
204 . offset-md-7
205 margin-left calc(7/12 * 100%)
206 . offset-md-8
207 margin-left calc(8/12 * 100%)
208 . offset-md-9
209 margin-left calc(9/12 * 100%)
210 . offset-md-10
211 margin-left calc(10/12 * 100%)
212 . offset-md-11
213 margin-left calc(11/12 * 100%)
214 media (min-width:1012px)
215 . col-lg-1
216 width calc(1/12 * 100%)
217 float left
218 . col-lg-2
219 width calc(2/12 * 100%)
220 float left
221 . col-lg-3
222 width calc(3/12 * 100%)
223 float left
224 . col-lg-4
225 width calc(4/12 * 100%)
226 float left
227 . col-lg-5
228 width calc(5/12 * 100%)
229 float left
230 . col-lg-6
231 width calc(6/12 * 100%)
232 float left
233 . col-lg-7
234 width calc(7/12 * 100%)
235 float left
236 . col-lg-8
237 width calc(8/12 * 100%)
238 float left
239 . col-lg-9
240 width calc(9/12 * 100%)
241 float left
242 . col-lg-10
243 width calc(10/12 * 100%)
244 float left
245 . col-lg-11
246 width calc(11/12 * 100%)
247 float left
248 . col-lg-12
249 width 100%
250 float left
251 . offset-lg-1
252 margin-left calc(1/12 * 100%)
253 . offset-lg-2
254 margin-left calc(2/12 * 100%)
255 . offset-lg-3
256 margin-left calc(3/12 * 100%)
257 . offset-lg-4
258 margin-left calc(4/12 * 100%)
259 . offset-lg-5
260 margin-left calc(5/12 * 100%)
261 . offset-lg-6
262 margin-left calc(6/12 * 100%)
263 . offset-lg-7
264 margin-left calc(7/12 * 100%)
265 . offset-lg-8
266 margin-left calc(8/12 * 100%)
267 . offset-lg-9
268 margin-left calc(9/12 * 100%)
269 . offset-lg-10
270 margin-left calc(10/12 * 100%)
271 . offset-lg-11
272 margin-left calc(11/12 * 100%)
273 media (min-width:1280px)
274 . col-xl-1
275 width calc(1/12 * 100%)
276 float left
277 . col-xl-2
278 width calc(2/12 * 100%)
279 float left
280 . col-xl-3
281 width calc(3/12 * 100%)
282 float left
283 . col-xl-4
284 width calc(4/12 * 100%)
285 float left
286 . col-xl-5
287 width calc(5/12 * 100%)
288 float left
289 . col-xl-6
290 width calc(6/12 * 100%)
291 float left
292 . col-xl-7
293 width calc(7/12 * 100%)
294 float left
295 . col-xl-8
296 width calc(8/12 * 100%)
297 float left
298 . col-xl-9
299 width calc(9/12 * 100%)
300 float left
301 . col-xl-10
302 width calc(10/12 * 100%)
303 float left
304 . col-xl-11
305 width calc(11/12 * 100%)
306 float left
307 . col-xl-12
308 width 100%
309 float left
310 . offset-xl-1
311 margin-left calc(1/12 * 100%)
312 . offset-xl-2
313 margin-left calc(2/12 * 100%)
314 . offset-xl-3
315 margin-left calc(3/12 * 100%)
316 . offset-xl-4
317 margin-left calc(4/12 * 100%)
318 . offset-xl-5
319 margin-left calc(5/12 * 100%)
320 . offset-xl-6
321 margin-left calc(6/12 * 100%)
322 . offset-xl-7
323 margin-left calc(7/12 * 100%)
324 . offset-xl-8
325 margin-left calc(8/12 * 100%)
326 . offset-xl-9
327 margin-left calc(9/12 * 100%)
328 . offset-xl-10
329 margin-left calc(10/12 * 100%)
330 . offset-xl-11
331 margin-left calc(11/12 * 100%)

/src/ittf/jobs/ittf__copy/site/site/t/css/_old/index.css.ittf

    
1 $group
2 . text-center
3 text-align center!important
4 . bg-gray-light
5 background #f5f5f5!important
6 . overflow-hidden
7 overflow hidden!important
8 . hero-img
9 margin 0 auto 0 50%
10 max-width 800px
11 -webkit-transform translateX(-50%)
12 transform translateX(-50%)
13 media (min-width:768px)
14 . hero-img
15 -webkit-transform translateX(0)!important
16 transform translateX(0)!important
17 min-width none
18 margin-left 0!important
19 max-width 90%
20 . bg-custom-gradient
21 background-image linear-gradient(180deg,#f5f5f5,rgba(245,245,245,0))
22 background-repeat no-repeat
23 background-size 100% 200px
24 . text-alpha
25 + .text-beta
26 + h1
27 + h2
28 font-weight 300
29 line-height 1.2
30 . text-alpha
31 + h1
32 font-size 36px
33 media (min-width:768px)
34 . vertically-centered [class*=col-md]
35 display table-cell
36 float none
37 vertical-align middle
38 . text-alpha
39 + h1
40 font-size 48px
41 media (min-width:1012px)
42 . text-alpha
43 + h1
44 font-size 54px
45 . text-beta
46 + h2
47 font-size 28px
48 media (min-width:768px)
49 . text-beta
50 + h2
51 font-size 34px
52 media (min-width:1012px)
53 . text-beta
54 + h2
55 font-size 38px
56 . text-gamma
57 + h3
58 font-size 18px
59 font-weight 400
60 line-height 1.4
61 media (min-width:768px)
62 . text-gamma
63 + h3
64 font-size 20px
65 media (min-width:1012px)
66 . text-gamma
67 + h3
68 font-size 22px
69 . text-delta
70 + h4
71 font-size 16px
72 font-weight 500
73 line-height 1.4
74 . text-alpha
75 + .text-beta
76 + .text-delta
77 + .text-gamma
78 + h1
79 + h2
80 + h3
81 + h4
82 + h5
83 margin-top 0
84 margin-bottom .45em
85 color #3c4146
86 -webkit-font-smoothing antialiased
87 . lead
88 font-size 20px
89 font-weight 300
90 line-height 1.5
91 color #767676
92 -webkit-font-smoothing antialiased
93 media (min-width:768px)
94 . lead
95 font-size 24px
96 media (min-width:1012px)
97 . lead
98 font-size 26px
99 . link-mono
100 + .text-mono
101 font-family Consolas,"Liberation Mono",Menlo,Courier,monospace
102 . link-mono
103 box-shadow 0 1px 0 0 rgba(0,121,209,.3)
104 . link-mono:hover
105 text-decoration none
106 box-shadow 0 1px 0 0 #0058a2

/src/ittf/jobs/ittf__copy/site/site/t/css/_old/padding-margin.css.ittf

    
1 $group
2 . pr-0
3 + .px-0
4 padding-right 0!important
5 . pl-0
6 + .px-0
7 padding-left 0!important
8 . pt-0
9 + .py-0
10 padding-top 0!important
11 . pb-0
12 + .py-0
13 padding-bottom 0!important
14 . visually-hidden.focusable:active
15 + .visually-hidden.focusable:focus
16 position static
17 width auto
18 height auto
19 margin 0
20 overflow visible
21 clip auto
22 . mt-0
23 + .my-0
24 margin-top 0!important
25 . mb-0
26 + .my-0
27 margin-bottom 0!important
28 . mx-auto
29 margin-right auto!important
30 margin-left auto!important
31 . mr-0
32 + .mx-0
33 margin-right 0!important
34 . ml-0
35 + .mx-0
36 margin-left 0!important
37 . m-0
38 margin 0!important
39 . mr-1
40 + .mx-1
41 margin-right 4px!important
42 . ml-1
43 + .mx-1
44 margin-left 4px!important
45 . mt-1
46 + .my-1
47 margin-top 4px!important
48 . mb-1
49 + .my-1
50 margin-bottom 4px!important
51 . m-1
52 margin 4px!important
53 . mr-2
54 + .mx-2
55 margin-right 8px!important
56 . ml-2
57 + .mx-2
58 margin-left 8px!important
59 . mt-2
60 + .my-2
61 margin-top 8px!important
62 . mb-2
63 + .my-2
64 margin-bottom 8px!important
65 . m-2
66 margin 8px!important
67 . mr-3
68 + .mx-3
69 margin-right 16px!important
70 . ml-3
71 + .mx-3
72 margin-left 16px!important
73 . mt-3
74 + .my-3
75 margin-top 16px!important
76 . mb-3
77 + .my-3
78 margin-bottom 16px!important
79 . m-3
80 margin 16px!important
81 . mr-4
82 + .mx-4
83 margin-right 32px!important
84 . ml-4
85 + .mx-4
86 margin-left 32px!important
87 . mt-4
88 + .my-4
89 margin-top 32px!important
90 . mb-4
91 + .my-4
92 margin-bottom 32px!important
93 . m-4
94 margin 32px!important
95 . mr-5
96 + .mx-5
97 margin-right 48px!important
98 . ml-5
99 + .mx-5
100 margin-left 48px!important
101 . mt-5
102 + .my-5
103 margin-top 48px!important
104 . mb-5
105 + .my-5
106 margin-bottom 48px!important
107 . m-5
108 margin 48px!important
109 . mr-6
110 + .mx-6
111 margin-right 64px!important
112 . ml-6
113 + .mx-6
114 margin-left 64px!important
115 . mt-6
116 + .my-6
117 margin-top 64px!important
118 . mb-6
119 + .my-6
120 margin-bottom 64px!important
121 . m-6
122 margin 64px!important
123 . mr-7
124 + .mx-7
125 margin-right 80px!important
126 . ml-7
127 + .mx-7
128 margin-left 80px!important
129 . mt-7
130 + .my-7
131 margin-top 80px!important
132 . mb-7
133 + .my-7
134 margin-bottom 80px!important
135 . m-7
136 margin 80px!important
137 . mr-8
138 + .mx-8
139 margin-right 96px!important
140 . ml-8
141 + .mx-8
142 margin-left 96px!important
143 . mt-8
144 + .my-8
145 margin-top 96px!important
146 . mb-8
147 + .my-8
148 margin-bottom 96px!important
149 . m-8
150 margin 96px!important
151 . mr-9
152 + .mx-9
153 margin-right 112px!important
154 . ml-9
155 + .mx-9
156 margin-left 112px!important
157 . mt-9
158 + .my-9
159 margin-top 112px!important
160 . mb-9
161 + .my-9
162 margin-bottom 112px!important
163 . m-9
164 margin 112px!important
165 media (min-width:544px)
166 . float-sm-left
167 float left!important
168 . mr-sm-0
169 + .mx-sm-0
170 margin-right 0!important
171 . ml-sm-0
172 + .mx-sm-0
173 margin-left 0!important
174 . mt-sm-0
175 + .my-sm-0
176 margin-top 0!important
177 . mb-sm-0
178 + .my-sm-0
179 margin-bottom 0!important
180 . m-sm-0
181 margin 0!important
182 . mr-sm-1
183 + .mx-sm-1
184 margin-right 4px!important
185 . ml-sm-1
186 + .mx-sm-1
187 margin-left 4px!important
188 . mt-sm-1
189 + .my-sm-1
190 margin-top 4px!important
191 . mb-sm-1
192 + .my-sm-1
193 margin-bottom 4px!important
194 . m-sm-1
195 margin 4px!important
196 . mr-sm-2
197 + .mx-sm-2
198 margin-right 8px!important
199 . ml-sm-2
200 + .mx-sm-2
201 margin-left 8px!important
202 . mt-sm-2
203 + .my-sm-2
204 margin-top 8px!important
205 . mb-sm-2
206 + .my-sm-2
207 margin-bottom 8px!important
208 . m-sm-2
209 margin 8px!important
210 . mr-sm-3
211 + .mx-sm-3
212 margin-right 16px!important
213 . ml-sm-3
214 + .mx-sm-3
215 margin-left 16px!important
216 . mt-sm-3
217 + .my-sm-3
218 margin-top 16px!important
219 . mb-sm-3
220 + .my-sm-3
221 margin-bottom 16px!important
222 . m-sm-3
223 margin 16px!important
224 . mr-sm-4
225 + .mx-sm-4
226 margin-right 32px!important
227 . ml-sm-4
228 + .mx-sm-4
229 margin-left 32px!important
230 . mt-sm-4
231 + .my-sm-4
232 margin-top 32px!important
233 . mb-sm-4
234 + .my-sm-4
235 margin-bottom 32px!important
236 . m-sm-4
237 margin 32px!important
238 . mr-sm-5
239 + .mx-sm-5
240 margin-right 48px!important
241 . ml-sm-5
242 + .mx-sm-5
243 margin-left 48px!important
244 . mt-sm-5
245 + .my-sm-5
246 margin-top 48px!important
247 . mb-sm-5
248 + .my-sm-5
249 margin-bottom 48px!important
250 . m-sm-5
251 margin 48px!important
252 . mr-sm-6
253 + .mx-sm-6
254 margin-right 64px!important
255 . ml-sm-6
256 + .mx-sm-6
257 margin-left 64px!important
258 . mt-sm-6
259 + .my-sm-6
260 margin-top 64px!important
261 . mb-sm-6
262 + .my-sm-6
263 margin-bottom 64px!important
264 . m-sm-6
265 margin 64px!important
266 . mr-sm-7
267 + .mx-sm-7
268 margin-right 80px!important
269 . ml-sm-7
270 + .mx-sm-7
271 margin-left 80px!important
272 . mt-sm-7
273 + .my-sm-7
274 margin-top 80px!important
275 . mb-sm-7
276 + .my-sm-7
277 margin-bottom 80px!important
278 . m-sm-7
279 margin 80px!important
280 . mr-sm-8
281 + .mx-sm-8
282 margin-right 96px!important
283 . ml-sm-8
284 + .mx-sm-8
285 margin-left 96px!important
286 . mt-sm-8
287 + .my-sm-8
288 margin-top 96px!important
289 . mb-sm-8
290 + .my-sm-8
291 margin-bottom 96px!important
292 . m-sm-8
293 margin 96px!important
294 . mr-sm-9
295 + .mx-sm-9
296 margin-right 112px!important
297 . ml-sm-9
298 + .mx-sm-9
299 margin-left 112px!important
300 . mt-sm-9
301 + .my-sm-9
302 margin-top 112px!important
303 . mb-sm-9
304 + .my-sm-9
305 margin-bottom 112px!important
306 . m-sm-9
307 margin 112px!important
308 media (min-width:768px)
309 . float-md-left
310 float left!important
311 . mr-md-0
312 + .mx-md-0
313 margin-right 0!important
314 . ml-md-0
315 + .mx-md-0
316 margin-left 0!important
317 . mt-md-0
318 + .my-md-0
319 margin-top 0!important
320 . mb-md-0
321 + .my-md-0
322 margin-bottom 0!important
323 . m-md-0
324 margin 0!important
325 . mr-md-1
326 + .mx-md-1
327 margin-right 4px!important
328 . ml-md-1
329 + .mx-md-1
330 margin-left 4px!important
331 . mt-md-1
332 + .my-md-1
333 margin-top 4px!important
334 . mb-md-1
335 + .my-md-1
336 margin-bottom 4px!important
337 . m-md-1
338 margin 4px!important
339 . mr-md-2
340 + .mx-md-2
341 margin-right 8px!important
342 . ml-md-2
343 + .mx-md-2
344 margin-left 8px!important
345 . mt-md-2
346 + .my-md-2
347 margin-top 8px!important
348 . mb-md-2
349 + .my-md-2
350 margin-bottom 8px!important
351 . m-md-2
352 margin 8px!important
353 . mr-md-3
354 + .mx-md-3
355 margin-right 16px!important
356 . ml-md-3
357 + .mx-md-3
358 margin-left 16px!important
359 . mt-md-3
360 + .my-md-3
361 margin-top 16px!important
362 . mb-md-3
363 + .my-md-3
364 margin-bottom 16px!important
365 . m-md-3
366 margin 16px!important
367 . mr-md-4
368 + .mx-md-4
369 margin-right 32px!important
370 . ml-md-4
371 + .mx-md-4
372 margin-left 32px!important
373 . mt-md-4
374 + .my-md-4
375 margin-top 32px!important
376 . mb-md-4
377 + .my-md-4
378 margin-bottom 32px!important
379 . m-md-4
380 margin 32px!important
381 . mr-md-5
382 + .mx-md-5
383 margin-right 48px!important
384 . ml-md-5
385 + .mx-md-5
386 margin-left 48px!important
387 . mt-md-5
388 + .my-md-5
389 margin-top 48px!important
390 . mb-md-5
391 + .my-md-5
392 margin-bottom 48px!important
393 . m-md-5
394 margin 48px!important
395 . mr-md-6
396 + .mx-md-6
397 margin-right 64px!important
398 . ml-md-6
399 + .mx-md-6
400 margin-left 64px!important
401 . mt-md-6
402 + .my-md-6
403 margin-top 64px!important
404 . mb-md-6
405 + .my-md-6
406 margin-bottom 64px!important
407 . m-md-6
408 margin 64px!important
409 . mr-md-7
410 + .mx-md-7
411 margin-right 80px!important
412 . ml-md-7
413 + .mx-md-7
414 margin-left 80px!important
415 . mt-md-7
416 + .my-md-7
417 margin-top 80px!important
418 . mb-md-7
419 + .my-md-7
420 margin-bottom 80px!important
421 . m-md-7
422 margin 80px!important
423 . mr-md-8
424 + .mx-md-8
425 margin-right 96px!important
426 . ml-md-8
427 + .mx-md-8
428 margin-left 96px!important
429 . mt-md-8
430 + .my-md-8
431 margin-top 96px!important
432 . mb-md-8
433 + .my-md-8
434 margin-bottom 96px!important
435 . m-md-8
436 margin 96px!important
437 . mr-md-9
438 + .mx-md-9
439 margin-right 112px!important
440 . ml-md-9
441 + .mx-md-9
442 margin-left 112px!important
443 . mt-md-9
444 + .my-md-9
445 margin-top 112px!important
446 . mb-md-9
447 + .my-md-9
448 margin-bottom 112px!important
449 . m-md-9
450 margin 112px!important
451 . p-0
452 padding 0!important
453 . pr-1
454 + .px-1
455 padding-right 4px!important
456 . pl-1
457 + .px-1
458 padding-left 4px!important
459 . pt-1
460 + .py-1
461 padding-top 4px!important
462 . pb-1
463 + .py-1
464 padding-bottom 4px!important
465 . p-1
466 padding 4px!important
467 . pr-2
468 + .px-2
469 padding-right 8px!important
470 . pl-2
471 + .px-2
472 padding-left 8px!important
473 . pt-2
474 + .py-2
475 padding-top 8px!important
476 . pb-2
477 + .py-2
478 padding-bottom 8px!important
479 . p-2
480 padding 8px!important
481 . pr-3
482 + .px-3
483 padding-right 16px!important
484 . pl-3
485 + .px-3
486 padding-left 16px!important
487 . pt-3
488 + .py-3
489 padding-top 16px!important
490 . pb-3
491 + .py-3
492 padding-bottom 16px!important
493 . p-3
494 padding 16px!important
495 . pr-4
496 + .px-4
497 padding-right 32px!important
498 . pl-4
499 + .px-4
500 padding-left 32px!important
501 . pt-4
502 + .py-4
503 padding-top 32px!important
504 . pb-4
505 + .py-4
506 padding-bottom 32px!important
507 . p-4
508 padding 32px!important
509 . pr-5
510 + .px-5
511 padding-right 48px!important
512 . pl-5
513 + .px-5
514 padding-left 48px!important
515 . pt-5
516 + .py-5
517 padding-top 48px!important
518 . pb-5
519 + .py-5
520 padding-bottom 48px!important
521 . p-5
522 padding 48px!important
523 . pr-6
524 + .px-6
525 padding-right 64px!important
526 . pl-6
527 + .px-6
528 padding-left 64px!important
529 . pt-6
530 + .py-6
531 padding-top 64px!important
532 . pb-6
533 + .py-6
534 padding-bottom 64px!important
535 . p-6
536 padding 64px!important
537 . pr-7
538 + .px-7
539 padding-right 80px!important
540 . pl-7
541 + .px-7
542 padding-left 80px!important
543 . pt-7
544 + .py-7
545 padding-top 80px!important
546 . pb-7
547 + .py-7
548 padding-bottom 80px!important
549 . p-7
550 padding 80px!important
551 . pr-8
552 + .px-8
553 padding-right 96px!important
554 . pl-8
555 + .px-8
556 padding-left 96px!important
557 . pt-8
558 + .py-8
559 padding-top 96px!important
560 . pb-8
561 + .py-8
562 padding-bottom 96px!important
563 . p-8
564 padding 96px!important
565 . pr-9
566 + .px-9
567 padding-right 112px!important
568 . pl-9
569 + .px-9
570 padding-left 112px!important
571 . pt-9
572 + .py-9
573 padding-top 112px!important
574 . pb-9
575 + .py-9
576 padding-bottom 112px!important
577 . p-9
578 padding 112px!important
579 media (min-width:544px)
580 . pr-sm-0
581 + .px-sm-0
582 padding-right 0!important
583 . pl-sm-0
584 + .px-sm-0
585 padding-left 0!important
586 . pt-sm-0
587 + .py-sm-0
588 padding-top 0!important
589 . pb-sm-0
590 + .py-sm-0
591 padding-bottom 0!important
592 . p-sm-0
593 padding 0!important
594 . pr-sm-1
595 + .px-sm-1
596 padding-right 4px!important
597 . pl-sm-1
598 + .px-sm-1
599 padding-left 4px!important
600 . pt-sm-1
601 + .py-sm-1
602 padding-top 4px!important
603 . pb-sm-1
604 + .py-sm-1
605 padding-bottom 4px!important
606 . p-sm-1
607 padding 4px!important
608 . pr-sm-2
609 + .px-sm-2
610 padding-right 8px!important
611 . pl-sm-2
612 + .px-sm-2
613 padding-left 8px!important
614 . pt-sm-2
615 + .py-sm-2
616 padding-top 8px!important
617 . pb-sm-2
618 + .py-sm-2
619 padding-bottom 8px!important
620 . p-sm-2
621 padding 8px!important
622 . pr-sm-3
623 + .px-sm-3
624 padding-right 16px!important
625 . pl-sm-3
626 + .px-sm-3
627 padding-left 16px!important
628 . pt-sm-3
629 + .py-sm-3
630 padding-top 16px!important
631 . pb-sm-3
632 + .py-sm-3
633 padding-bottom 16px!important
634 . p-sm-3
635 padding 16px!important
636 . pr-sm-4
637 + .px-sm-4
638 padding-right 32px!important
639 . pl-sm-4
640 + .px-sm-4
641 padding-left 32px!important
642 . pt-sm-4
643 + .py-sm-4
644 padding-top 32px!important
645 . pb-sm-4
646 + .py-sm-4
647 padding-bottom 32px!important
648 . p-sm-4
649 padding 32px!important
650 . pr-sm-5
651 + .px-sm-5
652 padding-right 48px!important
653 . pl-sm-5
654 + .px-sm-5
655 padding-left 48px!important
656 . pt-sm-5
657 + .py-sm-5
658 padding-top 48px!important
659 . pb-sm-5
660 + .py-sm-5
661 padding-bottom 48px!important
662 . p-sm-5
663 padding 48px!important
664 . pr-sm-6
665 + .px-sm-6
666 padding-right 64px!important
667 . pl-sm-6
668 + .px-sm-6
669 padding-left 64px!important
670 . pt-sm-6
671 + .py-sm-6
672 padding-top 64px!important
673 . pb-sm-6
674 + .py-sm-6
675 padding-bottom 64px!important
676 . p-sm-6
677 padding 64px!important
678 . pr-sm-7
679 + .px-sm-7
680 padding-right 80px!important
681 . pl-sm-7
682 + .px-sm-7
683 padding-left 80px!important
684 . pt-sm-7
685 + .py-sm-7
686 padding-top 80px!important
687 . pb-sm-7
688 + .py-sm-7
689 padding-bottom 80px!important
690 . p-sm-7
691 padding 80px!important
692 . pr-sm-8
693 + .px-sm-8
694 padding-right 96px!important
695 . pl-sm-8
696 + .px-sm-8
697 padding-left 96px!important
698 . pt-sm-8
699 + .py-sm-8
700 padding-top 96px!important
701 . pb-sm-8
702 + .py-sm-8
703 padding-bottom 96px!important
704 . p-sm-8
705 padding 96px!important
706 . pr-sm-9
707 + .px-sm-9
708 padding-right 112px!important
709 . pl-sm-9
710 + .px-sm-9
711 padding-left 112px!important
712 . pt-sm-9
713 + .py-sm-9
714 padding-top 112px!important
715 . pb-sm-9
716 + .py-sm-9
717 padding-bottom 112px!important
718 . p-sm-9
719 padding 112px!important
720 media (min-width:768px)
721 . pr-md-0
722 + .px-md-0
723 padding-right 0!important
724 . pl-md-0
725 + .px-md-0
726 padding-left 0!important
727 . pt-md-0
728 + .py-md-0
729 padding-top 0!important
730 . pb-md-0
731 + .py-md-0
732 padding-bottom 0!important
733 . p-md-0
734 padding 0!important
735 . pr-md-1
736 + .px-md-1
737 padding-right 4px!important
738 . pl-md-1
739 + .px-md-1
740 padding-left 4px!important
741 . pt-md-1
742 + .py-md-1
743 padding-top 4px!important
744 . pb-md-1
745 + .py-md-1
746 padding-bottom 4px!important
747 . p-md-1
748 padding 4px!important
749 . pr-md-2
750 + .px-md-2
751 padding-right 8px!important
752 . pl-md-2
753 + .px-md-2
754 padding-left 8px!important
755 . pt-md-2
756 + .py-md-2
757 padding-top 8px!important
758 . pb-md-2
759 + .py-md-2
760 padding-bottom 8px!important
761 . p-md-2
762 padding 8px!important
763 . pr-md-3
764 + .px-md-3
765 padding-right 16px!important
766 . pl-md-3
767 + .px-md-3
768 padding-left 16px!important
769 . pt-md-3
770 + .py-md-3
771 padding-top 16px!important
772 . pb-md-3
773 + .py-md-3
774 padding-bottom 16px!important
775 . p-md-3
776 padding 16px!important
777 . pr-md-4
778 + .px-md-4
779 padding-right 32px!important
780 . pl-md-4
781 + .px-md-4
782 padding-left 32px!important
783 . pt-md-4
784 + .py-md-4
785 padding-top 32px!important
786 . pb-md-4
787 + .py-md-4
788 padding-bottom 32px!important
789 . p-md-4
790 padding 32px!important
791 . pr-md-5
792 + .px-md-5
793 padding-right 48px!important
794 . pl-md-5
795 + .px-md-5
796 padding-left 48px!important
797 . pt-md-5
798 + .py-md-5
799 padding-top 48px!important
800 . pb-md-5
801 + .py-md-5
802 padding-bottom 48px!important
803 . p-md-5
804 padding 48px!important
805 . pr-md-6
806 + .px-md-6
807 padding-right 64px!important
808 . pl-md-6
809 + .px-md-6
810 padding-left 64px!important
811 . pt-md-6
812 + .py-md-6
813 padding-top 64px!important
814 . pb-md-6
815 + .py-md-6
816 padding-bottom 64px!important
817 . p-md-6
818 padding 64px!important
819 . pr-md-7
820 + .px-md-7
821 padding-right 80px!important
822 . pl-md-7
823 + .px-md-7
824 padding-left 80px!important
825 . pt-md-7
826 + .py-md-7
827 padding-top 80px!important
828 . pb-md-7
829 + .py-md-7
830 padding-bottom 80px!important
831 . p-md-7
832 padding 80px!important
833 . pr-md-8
834 + .px-md-8
835 padding-right 96px!important
836 . pl-md-8
837 + .px-md-8
838 padding-left 96px!important
839 . pt-md-8
840 + .py-md-8
841 padding-top 96px!important
842 . pb-md-8
843 + .py-md-8
844 padding-bottom 96px!important
845 . p-md-8
846 padding 96px!important
847 . pr-md-9
848 + .px-md-9
849 padding-right 112px!important
850 . pl-md-9
851 + .px-md-9
852 padding-left 112px!important
853 . pt-md-9
854 + .py-md-9
855 padding-top 112px!important
856 . pb-md-9
857 + .py-md-9
858 padding-bottom 112px!important
859 . p-md-9
860 padding 112px!important
861 media (min-width:1012px)
862 . float-lg-left
863 float left!important
864 . mr-lg-0
865 + .mx-lg-0
866 margin-right 0!important
867 . ml-lg-0
868 + .mx-lg-0
869 margin-left 0!important
870 . mt-lg-0
871 + .my-lg-0
872 margin-top 0!important
873 . mb-lg-0
874 + .my-lg-0
875 margin-bottom 0!important
876 . m-lg-0
877 margin 0!important
878 . mr-lg-1
879 + .mx-lg-1
880 margin-right 4px!important
881 . ml-lg-1
882 + .mx-lg-1
883 margin-left 4px!important
884 . mt-lg-1
885 + .my-lg-1
886 margin-top 4px!important
887 . mb-lg-1
888 + .my-lg-1
889 margin-bottom 4px!important
890 . m-lg-1
891 margin 4px!important
892 . mr-lg-2
893 + .mx-lg-2
894 margin-right 8px!important
895 . ml-lg-2
896 + .mx-lg-2
897 margin-left 8px!important
898 . mt-lg-2
899 + .my-lg-2
900 margin-top 8px!important
901 . mb-lg-2
902 + .my-lg-2
903 margin-bottom 8px!important
904 . m-lg-2
905 margin 8px!important
906 . mr-lg-3
907 + .mx-lg-3
908 margin-right 16px!important
909 . ml-lg-3
910 + .mx-lg-3
911 margin-left 16px!important
912 . mt-lg-3
913 + .my-lg-3
914 margin-top 16px!important
915 . mb-lg-3
916 + .my-lg-3
917 margin-bottom 16px!important
918 . m-lg-3
919 margin 16px!important
920 . mr-lg-4
921 + .mx-lg-4
922 margin-right 32px!important
923 . ml-lg-4
924 + .mx-lg-4
925 margin-left 32px!important
926 . mt-lg-4
927 + .my-lg-4
928 margin-top 32px!important
929 . mb-lg-4
930 + .my-lg-4
931 margin-bottom 32px!important
932 . m-lg-4
933 margin 32px!important
934 . mr-lg-5
935 + .mx-lg-5
936 margin-right 48px!important
937 . ml-lg-5
938 + .mx-lg-5
939 margin-left 48px!important
940 . mt-lg-5
941 + .my-lg-5
942 margin-top 48px!important
943 . mb-lg-5
944 + .my-lg-5
945 margin-bottom 48px!important
946 . m-lg-5
947 margin 48px!important
948 . mr-lg-6
949 + .mx-lg-6
950 margin-right 64px!important
951 . ml-lg-6
952 + .mx-lg-6
953 margin-left 64px!important
954 . mt-lg-6
955 + .my-lg-6
956 margin-top 64px!important
957 . mb-lg-6
958 + .my-lg-6
959 margin-bottom 64px!important
960 . m-lg-6
961 margin 64px!important
962 . mr-lg-7
963 + .mx-lg-7
964 margin-right 80px!important
965 . ml-lg-7
966 + .mx-lg-7
967 margin-left 80px!important
968 . mt-lg-7
969 + .my-lg-7
970 margin-top 80px!important
971 . mb-lg-7
972 + .my-lg-7
973 margin-bottom 80px!important
974 . m-lg-7
975 margin 80px!important
976 . mr-lg-8
977 + .mx-lg-8
978 margin-right 96px!important
979 . ml-lg-8
980 + .mx-lg-8
981 margin-left 96px!important
982 . mt-lg-8
983 + .my-lg-8
984 margin-top 96px!important
985 . mb-lg-8
986 + .my-lg-8
987 margin-bottom 96px!important
988 . m-lg-8
989 margin 96px!important
990 . mr-lg-9
991 + .mx-lg-9
992 margin-right 112px!important
993 . ml-lg-9
994 + .mx-lg-9
995 margin-left 112px!important
996 . mt-lg-9
997 + .my-lg-9
998 margin-top 112px!important
999 . mb-lg-9
1000 + .my-lg-9
1001 margin-bottom 112px!important
1002 . m-lg-9
1003 margin 112px!important
1004 . pr-lg-0
1005 + .px-lg-0
1006 padding-right 0!important
1007 . pl-lg-0
1008 + .px-lg-0
1009 padding-left 0!important
1010 . pt-lg-0
1011 + .py-lg-0
1012 padding-top 0!important
1013 . pb-lg-0
1014 + .py-lg-0
1015 padding-bottom 0!important
1016 . p-lg-0
1017 padding 0!important
1018 . pr-lg-1
1019 + .px-lg-1
1020 padding-right 4px!important
1021 . pl-lg-1
1022 + .px-lg-1
1023 padding-left 4px!important
1024 . pt-lg-1
1025 + .py-lg-1
1026 padding-top 4px!important
1027 . pb-lg-1
1028 + .py-lg-1
1029 padding-bottom 4px!important
1030 . p-lg-1
1031 padding 4px!important
1032 . pr-lg-2
1033 + .px-lg-2
1034 padding-right 8px!important
1035 . pl-lg-2
1036 + .px-lg-2
1037 padding-left 8px!important
1038 . pt-lg-2
1039 + .py-lg-2
1040 padding-top 8px!important
1041 . pb-lg-2
1042 + .py-lg-2
1043 padding-bottom 8px!important
1044 . p-lg-2
1045 padding 8px!important
1046 . pr-lg-3
1047 + .px-lg-3
1048 padding-right 16px!important
1049 . pl-lg-3
1050 + .px-lg-3
1051 padding-left 16px!important
1052 . pt-lg-3
1053 + .py-lg-3
1054 padding-top 16px!important
1055 . pb-lg-3
1056 + .py-lg-3
1057 padding-bottom 16px!important
1058 . p-lg-3
1059 padding 16px!important
1060 . pr-lg-4
1061 + .px-lg-4
1062 padding-right 32px!important
1063 . pl-lg-4
1064 + .px-lg-4
1065 padding-left 32px!important
1066 . pt-lg-4
1067 + .py-lg-4
1068 padding-top 32px!important
1069 . pb-lg-4
1070 + .py-lg-4
1071 padding-bottom 32px!important
1072 . p-lg-4
1073 padding 32px!important
1074 . pr-lg-5
1075 + .px-lg-5
1076 padding-right 48px!important
1077 . pl-lg-5
1078 + .px-lg-5
1079 padding-left 48px!important
1080 . pt-lg-5
1081 + .py-lg-5
1082 padding-top 48px!important
1083 . pb-lg-5
1084 + .py-lg-5
1085 padding-bottom 48px!important
1086 . p-lg-5
1087 padding 48px!important
1088 . pr-lg-6
1089 + .px-lg-6
1090 padding-right 64px!important
1091 . pl-lg-6
1092 + .px-lg-6
1093 padding-left 64px!important
1094 . pt-lg-6
1095 + .py-lg-6
1096 padding-top 64px!important
1097 . pb-lg-6
1098 + .py-lg-6
1099 padding-bottom 64px!important
1100 . p-lg-6
1101 padding 64px!important
1102 . pr-lg-7
1103 + .px-lg-7
1104 padding-right 80px!important
1105 . pl-lg-7
1106 + .px-lg-7
1107 padding-left 80px!important
1108 . pt-lg-7
1109 + .py-lg-7
1110 padding-top 80px!important
1111 . pb-lg-7
1112 + .py-lg-7
1113 padding-bottom 80px!important
1114 . p-lg-7
1115 padding 80px!important
1116 . pr-lg-8
1117 + .px-lg-8
1118 padding-right 96px!important
1119 . pl-lg-8
1120 + .px-lg-8
1121 padding-left 96px!important
1122 . pt-lg-8
1123 + .py-lg-8
1124 padding-top 96px!important
1125 . pb-lg-8
1126 + .py-lg-8
1127 padding-bottom 96px!important
1128 . p-lg-8
1129 padding 96px!important
1130 . pr-lg-9
1131 + .px-lg-9
1132 padding-right 112px!important
1133 . pl-lg-9
1134 + .px-lg-9
1135 padding-left 112px!important
1136 . pt-lg-9
1137 + .py-lg-9
1138 padding-top 112px!important
1139 . pb-lg-9
1140 + .py-lg-9
1141 padding-bottom 112px!important
1142 . p-lg-9
1143 padding 112px!important
1144 media (min-width:1280px)
1145 . float-xl-left
1146 float left!important
1147 . mr-xl-0
1148 + .mx-xl-0
1149 margin-right 0!important
1150 . ml-xl-0
1151 + .mx-xl-0
1152 margin-left 0!important
1153 . mt-xl-0
1154 + .my-xl-0
1155 margin-top 0!important
1156 . mb-xl-0
1157 + .my-xl-0
1158 margin-bottom 0!important
1159 . m-xl-0
1160 margin 0!important
1161 . mr-xl-1
1162 + .mx-xl-1
1163 margin-right 4px!important
1164 . ml-xl-1
1165 + .mx-xl-1
1166 margin-left 4px!important
1167 . mt-xl-1
1168 + .my-xl-1
1169 margin-top 4px!important
1170 . mb-xl-1
1171 + .my-xl-1
1172 margin-bottom 4px!important
1173 . m-xl-1
1174 margin 4px!important
1175 . mr-xl-2
1176 + .mx-xl-2
1177 margin-right 8px!important
1178 . ml-xl-2
1179 + .mx-xl-2
1180 margin-left 8px!important
1181 . mt-xl-2
1182 + .my-xl-2
1183 margin-top 8px!important
1184 . mb-xl-2
1185 + .my-xl-2
1186 margin-bottom 8px!important
1187 . m-xl-2
1188 margin 8px!important
1189 . mr-xl-3
1190 + .mx-xl-3
1191 margin-right 16px!important
1192 . ml-xl-3
1193 + .mx-xl-3
1194 margin-left 16px!important
1195 . mt-xl-3
1196 + .my-xl-3
1197 margin-top 16px!important
1198 . mb-xl-3
1199 + .my-xl-3
1200 margin-bottom 16px!important
1201 . m-xl-3
1202 margin 16px!important
1203 . mr-xl-4
1204 + .mx-xl-4
1205 margin-right 32px!important
1206 . ml-xl-4
1207 + .mx-xl-4
1208 margin-left 32px!important
1209 . mt-xl-4
1210 + .my-xl-4
1211 margin-top 32px!important
1212 . mb-xl-4
1213 + .my-xl-4
1214 margin-bottom 32px!important
1215 . m-xl-4
1216 margin 32px!important
1217 . mr-xl-5
1218 + .mx-xl-5
1219 margin-right 48px!important
1220 . ml-xl-5
1221 + .mx-xl-5
1222 margin-left 48px!important
1223 . mt-xl-5
1224 + .my-xl-5
1225 margin-top 48px!important
1226 . mb-xl-5
1227 + .my-xl-5
1228 margin-bottom 48px!important
1229 . m-xl-5
1230 margin 48px!important
1231 . mr-xl-6
1232 + .mx-xl-6
1233 margin-right 64px!important
1234 . ml-xl-6
1235 + .mx-xl-6
1236 margin-left 64px!important
1237 . mt-xl-6
1238 + .my-xl-6
1239 margin-top 64px!important
1240 . mb-xl-6
1241 + .my-xl-6
1242 margin-bottom 64px!important
1243 . m-xl-6
1244 margin 64px!important
1245 . mr-xl-7
1246 + .mx-xl-7
1247 margin-right 80px!important
1248 . ml-xl-7
1249 + .mx-xl-7
1250 margin-left 80px!important
1251 . mt-xl-7
1252 + .my-xl-7
1253 margin-top 80px!important
1254 . mb-xl-7
1255 + .my-xl-7
1256 margin-bottom 80px!important
1257 . m-xl-7
1258 margin 80px!important
1259 . mr-xl-8
1260 + .mx-xl-8
1261 margin-right 96px!important
1262 . ml-xl-8
1263 + .mx-xl-8
1264 margin-left 96px!important
1265 . mt-xl-8
1266 + .my-xl-8
1267 margin-top 96px!important
1268 . mb-xl-8
1269 + .my-xl-8
1270 margin-bottom 96px!important
1271 . m-xl-8
1272 margin 96px!important
1273 . mr-xl-9
1274 + .mx-xl-9
1275 margin-right 112px!important
1276 . ml-xl-9
1277 + .mx-xl-9
1278 margin-left 112px!important
1279 . mt-xl-9
1280 + .my-xl-9
1281 margin-top 112px!important
1282 . mb-xl-9
1283 + .my-xl-9
1284 margin-bottom 112px!important
1285 . m-xl-9
1286 margin 112px!important
1287 . pr-xl-0
1288 + .px-xl-0
1289 padding-right 0!important
1290 . pl-xl-0
1291 + .px-xl-0
1292 padding-left 0!important
1293 . pt-xl-0
1294 + .py-xl-0
1295 padding-top 0!important
1296 . pb-xl-0
1297 + .py-xl-0
1298 padding-bottom 0!important
1299 . p-xl-0
1300 padding 0!important
1301 . pr-xl-1
1302 + .px-xl-1
1303 padding-right 4px!important
1304 . pl-xl-1
1305 + .px-xl-1
1306 padding-left 4px!important
1307 . pt-xl-1
1308 + .py-xl-1
1309 padding-top 4px!important
1310 . pb-xl-1
1311 + .py-xl-1
1312 padding-bottom 4px!important
1313 . p-xl-1
1314 padding 4px!important
1315 . pr-xl-2
1316 + .px-xl-2
1317 padding-right 8px!important
1318 . pl-xl-2
1319 + .px-xl-2
1320 padding-left 8px!important
1321 . pt-xl-2
1322 + .py-xl-2
1323 padding-top 8px!important
1324 . pb-xl-2
1325 + .py-xl-2
1326 padding-bottom 8px!important
1327 . p-xl-2
1328 padding 8px!important
1329 . pr-xl-3
1330 + .px-xl-3
1331 padding-right 16px!important
1332 . pl-xl-3
1333 + .px-xl-3
1334 padding-left 16px!important
1335 . pt-xl-3
1336 + .py-xl-3
1337 padding-top 16px!important
1338 . pb-xl-3
1339 + .py-xl-3
1340 padding-bottom 16px!important
1341 . p-xl-3
1342 padding 16px!important
1343 . pr-xl-4
1344 + .px-xl-4
1345 padding-right 32px!important
1346 . pl-xl-4
1347 + .px-xl-4
1348 padding-left 32px!important
1349 . pt-xl-4
1350 + .py-xl-4
1351 padding-top 32px!important
1352 . pb-xl-4
1353 + .py-xl-4
1354 padding-bottom 32px!important
1355 . p-xl-4
1356 padding 32px!important
1357 . pr-xl-5
1358 + .px-xl-5
1359 padding-right 48px!important
1360 . pl-xl-5
1361 + .px-xl-5
1362 padding-left 48px!important
1363 . pt-xl-5
1364 + .py-xl-5
1365 padding-top 48px!important
1366 . pb-xl-5
1367 + .py-xl-5
1368 padding-bottom 48px!important
1369 . p-xl-5
1370 padding 48px!important
1371 . pr-xl-6
1372 + .px-xl-6
1373 padding-right 64px!important
1374 . pl-xl-6
1375 + .px-xl-6
1376 padding-left 64px!important
1377 . pt-xl-6
1378 + .py-xl-6
1379 padding-top 64px!important
1380 . pb-xl-6
1381 + .py-xl-6
1382 padding-bottom 64px!important
1383 . p-xl-6
1384 padding 64px!important
1385 . pr-xl-7
1386 + .px-xl-7
1387 padding-right 80px!important
1388 . pl-xl-7
1389 + .px-xl-7
1390 padding-left 80px!important
1391 . pt-xl-7
1392 + .py-xl-7
1393 padding-top 80px!important
1394 . pb-xl-7
1395 + .py-xl-7
1396 padding-bottom 80px!important
1397 . p-xl-7
1398 padding 80px!important
1399 . pr-xl-8
1400 + .px-xl-8
1401 padding-right 96px!important
1402 . pl-xl-8
1403 + .px-xl-8
1404 padding-left 96px!important
1405 . pt-xl-8
1406 + .py-xl-8
1407 padding-top 96px!important
1408 . pb-xl-8
1409 + .py-xl-8
1410 padding-bottom 96px!important
1411 . p-xl-8
1412 padding 96px!important
1413 . pr-xl-9
1414 + .px-xl-9
1415 padding-right 112px!important
1416 . pl-xl-9
1417 + .px-xl-9
1418 padding-left 112px!important
1419 . pt-xl-9
1420 + .py-xl-9
1421 padding-top 112px!important
1422 . pb-xl-9
1423 + .py-xl-9
1424 padding-bottom 112px!important
1425 . p-xl-9
1426 padding 112px!important

/src/ittf/jobs/ittf__copy/site/site/t/css/a.css.ittf

    
1 $group
2 < a
3 color #2086d7
4 text-decoration none
5 -webkit-transition color 250ms
6 transition color 250ms
7 < a:hover
8 color #1a6aab
9 < a.icon-link
10 display inline-block
11 font-size 0.7em
12 margin-left 16px
13 -webkit-transform rotate(-45deg)
14 transform rotate(-45deg)
15 color #b3b3b3
16 < a.icon-link:hover
17 color #2086d7

/src/ittf/jobs/ittf__copy/site/site/t/css/api.css.ittf

    
1 $group
2 $include defs
3 . api-property-panel
4 $$ background-color #ede
5 border 1px solid #ede
6 margin-top 5px
7 padding 5px 10px
8 . api-method-panel
9 $$ background-color #ede
10 border 1px solid #ede
11 margin-top 10px
12 padding 10px
13 . api-method-section-title
14 margin-top 10px
15 font-size 0.9em
16 font-style italics
17 font-weight bold
18 . api-method
19 background-color #ddd
20 color #222
21 font-size 1.5em
22 padding 5px 0px
23 . api-property-panel
24 border 1px solid #ede
25 . api-property
26 background-color #ddd
27 color #222
28 font-size 1.5em
29 padding 5px 0px
30 . api-property-name
31 color #222
32 font-size 1em
33 . api-property-type
34 color darkgreen
35 font-size 0.9em
36 . api-param-panel
37 border 1px solid #ede
38 . api-param-name
39 color #222
40 font-size 1em
41 . api-param-type
42 color darkgreen
43 font-size 0.9em
44 . api-ref-label
45 color darkblue
46 font-size 0.9em
47 . api-ref
48 color ${color22}
49 font-size 1em
50 . api-info-label
51 color orange
52 font-size 0.9em
53 . api-info
54 color #888
55 font-size 1em
56 . api-info-tag
57 color darkred
58 font-size 1em
59 . api-info-name
60 color #222
61 font-size 1em
62 . api-comment-api
63 color #222
64 margin-top 10px
65 padding 10px
66 background-color #ededee
67 font-size 1em
68 . api-comment-property
69 color #222
70 padding 10px
71 font-size 0.9em
72 . api-comment-method
73 color #222
74 padding 10px
75 font-size 0.9em
76 . api-comment-info
77 color #222
78 padding 10px
79 font-size 0.9em
80 . api-comment-array-item
81 color #222
82 padding 10px
83 font-size 0.9em
84 . api-comment-param
85 color #222
86 font-size 0.8em
87 . api-comment-object-property
88 color #222
89 font-size 0.8em
90 . api-comment-typed-value
91 color #222
92 font-size 0.8em

/src/ittf/jobs/ittf__copy/site/site/t/css/article.css.ittf

    
1 $group
2 < section h1
3 background #444
4 color #eee
5 padding 10px 5px
6 < section h2
7 background #ddd
8 color #000
9 padding 15px 5px
10 margin 20px 0
11 < h3
12 background #eee
13 color #000
14 padding 3px 1px
15 . pretty-table
16 border 1px solid #333
17 width 100%
18 . pretty-table th, .pretty-table td
19 border 1px solid #666
20 . cli-command
21 background #333
22 border-radius 3px
23 color #f0f0f0
24 padding .75em 1.2em
25 font-family courier
26 font-size .8em
27 . concept
28 margin 30px 0

/src/ittf/jobs/ittf__copy/site/site/t/css/code.css.ittf

    
1 $group
2 . code-panel
3 margin-bottom 20px
4 . code-panel h4
5 margin-top 0px
6 margin-bottom 0px

/src/ittf/jobs/ittf__copy/site/site/t/css/frame.css.ittf

    
1 $group
2 $if true
3 . top-header
4 position fixed
5 top 10px
6 left 0
7 width 90%
8 height 30px
9 background #555
10 color #eee
11 . main-sidebar-left
12 position fixed
13 top 60px
14 width 25%
15 height 90%
16 overflow auto
17 padding 10px
18 . main-content
19 margin-top 10px
20 margin-left 30%
21 width 60%
22 line-height 1.5em
23 z-index 1

/src/ittf/jobs/ittf__copy/site/site/t/css/gridSystem_float.css.ittf

    
1 $group
2 $
3 var columns = 12
4 var percWidth = 100
5 var percMarginWidth = 10
6 var maxWidth = 1200
7 var gutter = 12
8 - The basic grid contains just a few elements
9 - . container
10 - . rows
11 - . columns
12 - . gutters (the space between columns)
13 - The width of the container is generally 100%,
14 - but you might want to set a max-width for larger displays.
15 . gsf-grid-container
16 width ${percWidth}%
17 max-width ${maxWidth}px
18 - Using the 'border-box' model, we can create gutters with ease.
19 - setting border box on all elements inside the grid
20 . gsf-grid-container *
21 box-sizing border-box
22 - cleafix hack - to make sure everything inside
23 - the row stays inside the row.
24 . gsf-row:before
25 + .gsf-row:after
26 content ""
27 display table
28 clear both
29 - To prevent that empty columns will stack on top of each other
30 - we'll give our columns a min-height of 1px as well as float them.
31 < [class*='gsf-col-']
32 float left
33 min-height 1px
34 - our gutter
35 padding ${gutter}px
36 - To find the width of one column, all we have to do is divide
37 - the total number of columns by the width of the container.
38 - In our case, the width of the container is ${percWidth}%,
39 - and we want ${columns} columns, so ${percWidth}/${columns} = ${percWidth/columns}%.
40 < [class*='gsf-col-']
41 width ${percWidth/columns}%
42 $for var i=1; i<columns+1; i++
43 . gsf-col-${i}
44 width ${(percWidth/columns)*i}%
45 $for var i=0; i<columns; i++
46 . gsf-sm-${i}
47 margin-left ${(percWidth/columns)*i}%
48 $if i > 0
49 @ *margin-left ${(percWidth/columns)*i-0.005}%
50 $for var i=0; i<columns; i++
51 . gsf-smr-${i}
52 margin-left ${(percMarginWidth/columns)*i}%
53 $if i > 0
54 @ *margin-left ${(percMarginWidth/columns)*i-0.005}%
55 $for var i=0; i<columns; i++
56 . gsf-sm-${i}
57 margin-left ${(percWidth/columns)*i}%
58 $if i > 0
59 @ *margin-left ${(percWidth/columns)*i-0.005}%
60 . gsf-outline
61 + .gsf-outline *
62 outline 1px solid #F6A1A1
63 - some extra column content styling
64 < [class*='gsf-col-'] > p
65 background-color #FFC2C2
66 padding 0
67 margin 0
68 text-align center
69 color white

/src/ittf/jobs/ittf__copy/site/site/t/css/header.css.ittf

    
1 $group
2 . header
3 position fixed
4 display flex
5 top 0
6 width 100%
7 height 60px
8 background #555
9 . header-double
10 position fixed
11 display flex
12 top 0
13 width 100%
14 height 90px
15 background #555
16 . header-logo
17 display flex
18 width 25%
19 justify-content center
20 align-items center
21 . header-logo .logo
22 font-size 36px
23 font-weight bold
24 font-family impact
25 color #fff
26 . header-items
27 . header-item
28 float left
29 padding 10px 20px
30 font-size 22px
31 height 40px
32 text-decoration none
33 color #ddd
34 . header-item-bottom
35 float left
36 padding 5px 20px
37 font-size 18px
38 height 20px
39 text-decoration none
40 color #ddd
41 . selected-header-item
42 float left
43 padding 10px 20px
44 font-size 22px
45 height 40px
46 text-decoration none
47 color #555
48 background-color #ddd

/src/ittf/jobs/ittf__copy/site/site/t/css/icons.css.ittf

    
1 $group
2 $include defs
3 font-face
4 font-family "icons"
5 src url('data:application/octet-stream;base64,d09GRgABAAAAAA5YAA8AAAAAFzQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABWAAAADsAAABUIIslek9TLzIAAAGUAAAAQwAAAFY+IFXgY21hcAAAAdgAAABxAAAByLeGJxljdnQgAAACTAAAABMAAAAgBtX/BGZwZ20AAAJgAAAFkAAAC3CKkZBZZ2FzcAAAB/AAAAAIAAAACAAAABBnbHlmAAAH+AAAA34AAAP0+6zqTGhlYWQAAAt4AAAAMwAAADYOWutvaGhlYQAAC6wAAAAfAAAAJAcxA1hobXR4AAALzAAAABgAAAAYE5j/9GxvY2EAAAvkAAAADgAAAA4DxgKmbWF4cAAAC/QAAAAgAAAAIAEJC+puYW1lAAAMFAAAAXwAAAKp1BxS6XBvc3QAAA2QAAAASgAAAF72BKiVcHJlcAAADdwAAAB6AAAAhuVBK7x4nGNgZGBg4GIwYLBjYHJx8wlh4MtJLMljkGJgYYAAkDwymzEnMz2RgQPGA8qxgGkOIGaDiAIAJjsFSAB4nGNgZHZhnMDAysDAVMW0h4GBoQdCMz5gMGRkAooysDIzYAUBaa4pDA4vGL7yMgf9z2KIYg5imAYUZgTJAQDXLQuLAHic7ZFBCsMwDARHsV2a4PwkLwl9T055cO/CZ1eymkD/0DVj2MXIsAIKkIzNyCAnguuwVEaeWEae2c1XnkzkN4rOWtvaO/y6W2Kvr+NuslnZf5QHf9Vxv76ueIuB964E1pk1G/ietAa+q7YGlA8gqhpqAAAAeJxjYEADEhDIHPQ/C4QBEmwD3QB4nK1WaXfTRhQdeUmchCwlCy1qYcTEabBGJmzBgAlBsmMgXZytlaCLFDvpvvGJ3+Bf82Tac+g3flrvGy8kkLTncJqTo3fnzdXM22USWpLYC+uRlJsvxdTWJo3sPAnphk3LUXwoO3shZYrJ3wVREK2W2rcdh0REIlC1rrBEEPseWZpkfOhRRsu2pFdNyi096S5b40G9Vd9+GjrKsTuhpGYzdGg9siVVGFWiSKY9UtKmZaj6K0krvL/CzFfNUMKITiJpvBnG0EjeG2e0ymg1tuMoimyy3ChSJJrhQRR5lNUS5+SKCQzKB82Q8sqnEeXD/Iis2KOcVrBLttP8vi95p3c5P7Ffb1G25EAfyI7s4Ox0JV+EW1th3LST7ShUEXbXd0Js2exU/2aP8ppGA7crMr3QjGCpfIUQKz+hzP4hWS2cT/mSR6NaspETQetlTuxLPoHW44gpcc0YWdDd0QkR1P2SMwz2mD4e/PHeKZYLEwJ4HMt6RyWcCBMpYXM0SdowcmAlZYsqqfWumDjldVrEW8J+7drRl85o41B3YjxbDx1bOVHJ8WhSp5lMndpJzaMpDaKUdCZ4zK8DKD+iSV5tYzWJlUfTOGbGhEQiAi3cS1NBLDuxpCkEzaMZvbkbprl2LVqkyQP13KP39OZWuLnTU9oO9LNGf1anYjrYC9PpaeQv8Wna5SJF6frpGX5M4kHWAjKRLTbDlIMHb/0O0svXlhyF1wbY7u3zK6h91kTwpAH7G9AeT9UpCUyFmFWIVkBirWtZlsnVrBapyNR3Q5pWvqzTBIpyHBfHvoxx/V8zM5aYEr7fidOzIy49c+1LCNMcfJt1PZrXqcVyAXFmeU6nWZbv6zTH8gOd5lme1+kIS1unoyw/1GmB5Uc6HWN5QQuadN/BkIsw5AIOkDCEpQNDWF6CISwVDGG5CENYFmEIyyUYwvJjGMJyGYawvKxl1dRTSePamVgGbEJgYo4eucxF5WoquVRCu2hUakOeEm6VVBTPqn9loF488oY5sBZIl8iaXzHOlY9G5fjWFS1vGjtXwLHqbx+O9jnxUtaLhT8F/9XWVCW9Ys3Dk6vwG4aebCeqNql4dE2Xz1U9uv5fVFRYC/QbSIVYKMqybHBnIoSPOp2GaqCVQ8xszDy063XLmp/D/TcxQhZQ/fg3FBoL3INOWUlZ7eCs1dfbstw7g3I4EyxJMTfz+lb4IiOz0n6RWcqej3wecAWMSmXYagOtFbzZJzEPmd4kzwRxW1E2SNrYzgSJDRzzgHnznQQmYeqqDeRO4YYN+AVhbsF5J1yieqMsh+5F7PMopPxbp+JE9qhojMCz2Rthr+9Cym9xDCQ0+aV+DFQVoakYNRXQNFJuqAZfxtm6bULGDvQjKnbDsqziw8cW95WSbRmEfKSI1aOjn9Zeok6q3H5mFJfvnb4FwSA1MX9733RxkMq7WskyR20DU7calVPXmkPjVYfq5lH1vePsEzlrmm66Jx56X9Oq28HFXCyw9m0O0lImF9T1YYUNosvFpVDqZTRJ77gHGBYY0O9Qio3/q/rYfJ4rVYXRcSTfTtS30edgDPwP2H9H9QPQ92Pocg0uz/eaE59u9OFsma6iF+un6Dcwa625WboG3NB0A+IhR62OuMoNfKcGcXqkuRzpIeBj3RXiAcAmgMXgE921jOZTAKP5jDk+wOfMYdBkDoMt5jDYZs4awA5zGOwyh8Eecxh8wZx1gC+ZwyBkDoOIOQyeMCcAeMocBl8xh8HXzGHwDXPuA3zLHAYxcxgkzGGwr+nWMMwtXtBdoLZBVaADU09Y3MPiUFNlyP6OF4b9vUHM/sEgpv6o6faQ+hMvDPVng5j6i0FM/VXTnSH1N14Y6u8GMfUPg5j6TL8Yy2UGv4x8lwoHlF1sPufvifcP28VAuQABAAH//wAPeJw1kt9v21QUx8+59/pH2syrG8dO3SRL48YZyZamjptUYUvdsCRtiJooZKUPoxSpqhCgZerDqER4SQca0rSnCgU0iR+aKlTRSewFMU3iH9gbPCDxiniYEOKhvCCWcrMJ2+davvb36Hs+/oIEcPoOnaBtkGAczkIADJiGc7DslQJnz1AGWItOm1OGHpxUfVAhCAy6vARkwiYg0nURKT1DVwHGx3wy7yKpqioJRjqoGnRGzamJmeDMEgpSoiBIyIsWAlKAV4Pi381nf+Lt4R7K+Ik8vGNgLzR8cgHbF48qv1eNznLnU/wKh9/h2vCtX187uGpf/an9bhvd1Ser+Jkz/NHBx8rwA4W7gdNf6ID8BjLMQxWa8KZ3LZ2M+5hIsTaXILQCVKRdEAWxCwII3XHJR0FG5ONtjSEjhHX4jZENIIw0Vmo5B6Hxaq250lwqXS461Vwldd5UBcY1sl/Q0ujomhi33XxBD2qKYElifA7jGWHBLdh8z8jnHKOESxhFdPILbjKDYpq/R1ESg5qeo//LyXumbedte1iPuw2vnQrNRs9HZ0Opttdw43VZMa/dzrQ6qdKuaZrKcO/wKB+uD8IstlO8orvfHN57ocao23D59bS1W79ZXzQVgvwgirnIH3dbbOCNbfr9KZeJ3uDZP63eStb0+2UyoWXqvRaGXogBADnHp5zjz5CCild+KZmIEIEJU3pgglHm4y1pDfgG//+UdYESjpQg6Y6E2OFhgI1Rk4YWDqhxWxTMNB+Y80ErntRzTiGDSX20XkbdsDmq52veMfIFUcrTwWxx79/7X/aV2K2d0tbkmBMqd2azHfPzP8TrX+cvXdJKi6SXvxDq/3XYIS2yUmSi8vYVorHidjbzWJ4MrV0v+mNlW34+xz08oTGe5oteamT0BojcmghbAp+CYFsYAVpnyO3XLR5YNRCThOk0dypGMBe0VH4u5Li7lxFP7ir6w4dHg8HNjbvkVlTfORhW8dHB+mafMyOnJ6df0A9pBCKQBMeb8yNlBidFasC73+CfMApsi5sgtAOUjjJGSSOgJ8JBQZhKB3hgSjxPRpTD0s/hKBlzaCdFK24n7YKmOyW045I4bmS8bG+/l3UdORYOPrCq29axLleb5V7WW9v/oU8++v6VZXz/9W+9eceZdz++U5KDx9Z21XqgRSwn6x2/0e8/2i8vw386OLtVAAB4nGNgZGBgAOLdPo6T4/ltvjJwM78AijBcXX/5OYz+/+V/FvML5iAgl4OBCSQKAJyTD5UAeJxjYGRgYA76nwUkX/z/8v8/8wsGoAgKYAMAtaMHjgAD6AAAAxAAAAOYAAADmAAAAfQAAAN8//QAAAAAAGIBBgFqAaAB+gAAAAEAAAAGAFAABwAAAAAAAgAYACgAcwAAAHALcAAAAAB4nHWSy0oDMRSG/9hWsUUXCm7cZKO0CDNtQYSuKkW7cCF00Y2raZu5lOlkyKRCX8B38AF8LZ/Ff9LgZeEMyfnOfy45gQA4wycE9t8t154FWvT2fIAjjDw3qN97bpIfPbfQwZPnQ3pzz23c4MVzB+d4YwfRPKa3xrtngbZoeD7AqTjx3KB+6blJvvLcwoUIPR9Sf/Dcxlw8e+7gWnxMdLkzWZJa2Z305LA/uJOLndSUsiLKZbS1qTaVHMtYF1bluQ6WelNZFWczlWzzyDh221yZKtOFHAR9509VoUxk1aruWL0mQ2tjGRu9kY++lyyNXqulDVJry1EY/j4DE2iU2MEgQ4IUFhJdqj3aIfoY4I60YIZk5j4rQ4EIOZUIW1akLlLRH3PF9Aqqihk5OcCS+4bxWotZPaNNWJmz3vzSf2hOW0cy10tyioCz/MSntIXLiZy2+p6xwit7D6laZtbTGHe65AP5O5fkvevYmsqSeuBub6mOEPL/5x5fXEV433icbcHbCoAgDADQzWpG0EeqzAsGg7ny93votXPAweeAf4QOF1xxQ0IP57CQujys+ZJJpVm9o7fZzFj3HBJHkU6Dg6YK8AK1gBEsAAB4nGPw3sFwIihiIyNjX+QGxp0cDBwMyQUbGVidNjEwMmiBGJu5mBg5ICw+BjCLzWkX0wGgNCeQze60i8EBwmZmcNmowtgRGLHBoSNiI3OKy0Y1EG8XRwMDI4tDR3JIBEhJJBBs5mFi5NHawfi/dQNL70YmBhcADHYj9AAA') format('woff'), url('data:application/octet-stream;base64,AAEAAAAPAIAAAwBwR1NVQiCLJXoAAAD8AAAAVE9TLzI+IFXgAAABUAAAAFZjbWFwt4YnGQAAAagAAAHIY3Z0IAbV/wQAAAscAAAAIGZwZ22KkZBZAAALPAAAC3BnYXNwAAAAEAAACxQAAAAIZ2x5Zvus6kwAAANwAAAD9GhlYWQOWutvAAAHZAAAADZoaGVhBzEDWAAAB5wAAAAkaG10eBOY//QAAAfAAAAAGGxvY2EDxgKmAAAH2AAAAA5tYXhwAQkL6gAAB+gAAAAgbmFtZdQcUukAAAgIAAACqXBvc3T2BKiVAAAKtAAAAF5wcmVw5UErvAAAFqwAAACGAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAEDRAGQAAUAAAJ6ArwAAACMAnoCvAAAAeAAMQECAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAQOgA9Q0DUv9qAFoDUgCWAAAAAQAAAAAAAAAAAAUAAAADAAAALAAAAAQAAAF8AAEAAAAAAHYAAwABAAAALAADAAoAAAF8AAQASgAAAAwACAACAAToAPMA8wnzDPUN//8AAOgA8wDzCfMM9Q3//wAAAAAAAAAAAAAAAQAMAAwADAAMAAwAAAABAAIAAwAEAAUAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAEwAAAAAAAAABQAA6AAAAOgAAAAAAQAA8wAAAPMAAAAAAgAA8wkAAPMJAAAAAwAA8wwAAPMMAAAABAAA9Q0AAPUNAAAABQAHAAD/agMQA1IABwALAA8AEwAXABsAHwBBQD4TDw0DBAABRx4bGhkXFhUSEQkARQIBAAQAbwAEAAUBBAVeAAEBA1YGAQMDDQNJAAALCgkIAAcABxEREQcFFysVERcDIREzESUhFSE/AQUHJTcFBwE3BQcDNxMHEzcTB0wDAfVP/e4BiP54AQgBiQj+jBcBfBj+zCwBUi2qReZGF1RBVJYBoQH+sQFO/mHbU5RVJlXTUmtSATRJzEkBmTL+vzIBvA7+ew4ABAAA/9gDmALkAAgAMQBGAE8AX0BcKyciCQQGAwFHLyUCA0UAAwYDbwAGBQZvAAUABW8LBwkDAAgBAQQAAWAKAQQCAgRUCgEEBAJYAAIEAkxIRzMyAQBMS0dPSE8/Pj06MkYzRSooGhEFBAAIAQgMBRQrATIWFAYiJjQ2NxYVFA4FIwcGIi8BIi4FNTQ3JjY3Fhc2MzIXPgE/AR4BATI2NTQnLgEGKwEiLgEGBwYVFBYzAzIWFAYiJjQ2AmwaJiY2Jib+SiI0TEBSKhgkHigeJBgqUkBMNCJKCA4aXIguUFQqPnIaGhoO/nimqjYcSpgcBCBmOkQWNKimnBomJjYmJgEeNEw0NEw06lBySnZKOBoOAgEBAQECDho4SnZKclAEmEAKXgwMKjQEBkCY/fpQfEgwGgwMCAIQFC5KfFABGDRMNDRMNAAAAAEAAP/qA5gC1AAqAEVAQiknJR0CBQQFGRYTEAQDBAkBAQIDRwAFBAVvAAQDBG8AAwIDbwACAQJvAAEAAAFUAAEBAFgAAAEATBQcExEiJgYFGisBBgcVFA4BIyInFjMyNy4BJxYyNy4BPQEWFyY1NDcWFyY1NDYyFzY3Bgc2A5gkOnj8pKCCDiCEZj5gEgoyGEJUJDBUGprsBm6iNjw8FD44Anw2LBiC8KZUAlACSDoEBg5oRAIUBDpkMC68CBIYTm46DCBCJggAAQAA/5wB9AMgABMALUAqAAMCA3AABgAAAQYAYAUBAQICAVIFAQEBAlYEAQIBAkojERERERMgBwUbKwEjIgYdATMVIxEjESM1MzU0NjsBAfSODhaysqqYmHZYjgKEHhZmlP5GAbqUVl6CAAAAAv/0/58DfQMdAB0AJwAyQC8MAQMEFwECAwJHAAECAXAAAAAEAwAEYAADAgIDVAADAwJYAAIDAkwTFiUcFQUFGSsTJjY3PgEyFhceAQYHFh8BFhQGIi8BJicGIyImJyY3FBYyPgEmIgcGCxcuQDB8g3wwNDIIIBwVriNGZCOtFghGT0J8MEBOg7mCAoW3Q0EBd1esQDEyMjE0how+CBWtI2RGI64UHSMyMECtXYKCuoNCQQAAAQAAAAEAALtMQZNfDzz1AAsD6AAAAADVr9PnAAAAANWv0+f/9P9qA+gDUgAAAAgAAgAAAAAAAAABAAADUv9qAAAD6P/0//8D6AABAAAAAAAAAAAAAAAAAAAABgPoAAADEAAAA5gAAAOYAAAB9AAAA3z/9AAAAAAAYgEGAWoBoAH6AAAAAQAAAAYAUAAHAAAAAAACABgAKABzAAAAcAtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABAAUANQABAAAAAAACAAcAOgABAAAAAAADAAUAQQABAAAAAAAEAAUARgABAAAAAAAFAAsASwABAAAAAAAGAAUAVgABAAAAAAAKACsAWwABAAAAAAALABMAhgADAAEECQAAAGoAmQADAAEECQABAAoBAwADAAEECQACAA4BDQADAAEECQADAAoBGwADAAEECQAEAAoBJQADAAEECQAFABYBLwADAAEECQAGAAoBRQADAAEECQAKAFYBTwADAAEECQALACYBpUNvcHlyaWdodCAoQykgMjAxNyBieSBvcmlnaW5hbCBhdXRob3JzIEAgZm9udGVsbG8uY29tc3RlZmlSZWd1bGFyc3RlZmlzdGVmaVZlcnNpb24gMS4wc3RlZmlHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEANwAgAGIAeQAgAG8AcgBpAGcAaQBuAGEAbAAgAGEAdQB0AGgAbwByAHMAIABAACAAZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AcwB0AGUAZgBpAFIAZQBnAHUAbABhAHIAcwB0AGUAZgBpAHMAdABlAGYAaQBWAGUAcgBzAGkAbwBuACAAMQAuADAAcwB0AGUAZgBpAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYBAgEDAQQBBQEGAQcADXN0YWNrb3ZlcmZsb3cGZ2l0aHViB3R3aXR0ZXIIZmFjZWJvb2sGc2VhcmNoAAAAAAABAAH//wAPAAAAAAAAAAAAAAAAAAAAAAAYABgAGAAYA1L/agNS/2qwACwgsABVWEVZICBLuAAOUUuwBlNaWLA0G7AoWWBmIIpVWLACJWG5CAAIAGNjI2IbISGwAFmwAEMjRLIAAQBDYEItsAEssCBgZi2wAiwgZCCwwFCwBCZasigBCkNFY0VSW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCxAQpDRWNFYWSwKFBYIbEBCkNFY0UgsDBQWCGwMFkbILDAUFggZiCKimEgsApQWGAbILAgUFghsApgGyCwNlBYIbA2YBtgWVlZG7ABK1lZI7AAUFhlWVktsAMsIEUgsAQlYWQgsAVDUFiwBSNCsAYjQhshIVmwAWAtsAQsIyEjISBksQViQiCwBiNCsQEKQ0VjsQEKQ7ABYEVjsAMqISCwBkMgiiCKsAErsTAFJbAEJlFYYFAbYVJZWCNZISCwQFNYsAErGyGwQFkjsABQWGVZLbAFLLAHQyuyAAIAQ2BCLbAGLLAHI0IjILAAI0JhsAJiZrABY7ABYLAFKi2wBywgIEUgsAtDY7gEAGIgsABQWLBAYFlmsAFjYESwAWAtsAgssgcLAENFQiohsgABAENgQi2wCSywAEMjRLIAAQBDYEItsAosICBFILABKyOwAEOwBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAssICBFILABKyOwAEOwBCVgIEWKI2EgZLAkUFiwABuwQFkjsABQWGVZsAMlI2FERLABYC2wDCwgsAAjQrILCgNFWCEbIyFZKiEtsA0ssQICRbBkYUQtsA4ssAFgICCwDENKsABQWCCwDCNCWbANQ0qwAFJYILANI0JZLbAPLCCwEGJmsAFjILgEAGOKI2GwDkNgIIpgILAOI0IjLbAQLEtUWLEEZERZJLANZSN4LbARLEtRWEtTWLEEZERZGyFZJLATZSN4LbASLLEAD0NVWLEPD0OwAWFCsA8rWbAAQ7ACJUKxDAIlQrENAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAOKiEjsAFhIIojYbAOKiEbsQEAQ2CwAiVCsAIlYbAOKiFZsAxDR7ANQ0dgsAJiILAAUFiwQGBZZrABYyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsQAAEyNEsAFDsAA+sgEBAUNgQi2wEywAsQACRVRYsA8jQiBFsAsjQrAKI7ABYEIgYLABYbUQEAEADgBCQopgsRIGK7ByKxsiWS2wFCyxABMrLbAVLLEBEystsBYssQITKy2wFyyxAxMrLbAYLLEEEystsBkssQUTKy2wGiyxBhMrLbAbLLEHEystsBwssQgTKy2wHSyxCRMrLbAeLACwDSuxAAJFVFiwDyNCIEWwCyNCsAojsAFgQiBgsAFhtRAQAQAOAEJCimCxEgYrsHIrGyJZLbAfLLEAHistsCAssQEeKy2wISyxAh4rLbAiLLEDHistsCMssQQeKy2wJCyxBR4rLbAlLLEGHistsCYssQceKy2wJyyxCB4rLbAoLLEJHistsCksIDywAWAtsCosIGCwEGAgQyOwAWBDsAIlYbABYLApKiEtsCsssCorsCoqLbAsLCAgRyAgsAtDY7gEAGIgsABQWLBAYFlmsAFjYCNhOCMgilVYIEcgILALQ2O4BABiILAAUFiwQGBZZrABY2AjYTgbIVktsC0sALEAAkVUWLABFrAsKrABFTAbIlktsC4sALANK7EAAkVUWLABFrAsKrABFTAbIlktsC8sIDWwAWAtsDAsALABRWO4BABiILAAUFiwQGBZZrABY7ABK7ALQ2O4BABiILAAUFiwQGBZZrABY7ABK7AAFrQAAAAAAEQ+IzixLwEVKi2wMSwgPCBHILALQ2O4BABiILAAUFiwQGBZZrABY2CwAENhOC2wMiwuFzwtsDMsIDwgRyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsABDYbABQ2M4LbA0LLECABYlIC4gR7AAI0KwAiVJiopHI0cjYSBYYhshWbABI0KyMwEBFRQqLbA1LLAAFrAEJbAEJUcjRyNhsAlDK2WKLiMgIDyKOC2wNiywABawBCWwBCUgLkcjRyNhILAEI0KwCUMrILBgUFggsEBRWLMCIAMgG7MCJgMaWUJCIyCwCEMgiiNHI0cjYSNGYLAEQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwAmIgsABQWLBAYFlmsAFjYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsAJiILAAUFiwQGBZZrABY2AjILABKyOwBENgsAErsAUlYbAFJbACYiCwAFBYsEBgWWawAWOwBCZhILAEJWBkI7ADJWBkUFghGyMhWSMgILAEJiNGYThZLbA3LLAAFiAgILAFJiAuRyNHI2EjPDgtsDgssAAWILAII0IgICBGI0ewASsjYTgtsDkssAAWsAMlsAIlRyNHI2GwAFRYLiA8IyEbsAIlsAIlRyNHI2EgsAUlsAQlRyNHI2GwBiWwBSVJsAIlYbkIAAgAY2MjIFhiGyFZY7gEAGIgsABQWLBAYFlmsAFjYCMuIyAgPIo4IyFZLbA6LLAAFiCwCEMgLkcjRyNhIGCwIGBmsAJiILAAUFiwQGBZZrABYyMgIDyKOC2wOywjIC5GsAIlRlJYIDxZLrErARQrLbA8LCMgLkawAiVGUFggPFkusSsBFCstsD0sIyAuRrACJUZSWCA8WSMgLkawAiVGUFggPFkusSsBFCstsD4ssDUrIyAuRrACJUZSWCA8WS6xKwEUKy2wPyywNiuKICA8sAQjQoo4IyAuRrACJUZSWCA8WS6xKwEUK7AEQy6wKystsEAssAAWsAQlsAQmIC5HI0cjYbAJQysjIDwgLiM4sSsBFCstsEEssQgEJUKwABawBCWwBCUgLkcjRyNhILAEI0KwCUMrILBgUFggsEBRWLMCIAMgG7MCJgMaWUJCIyBHsARDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbACYiCwAFBYsEBgWWawAWNhsAIlRmE4IyA8IzgbISAgRiNHsAErI2E4IVmxKwEUKy2wQiywNSsusSsBFCstsEMssDYrISMgIDywBCNCIzixKwEUK7AEQy6wKystsEQssAAVIEewACNCsgABARUUEy6wMSotsEUssAAVIEewACNCsgABARUUEy6wMSotsEYssQABFBOwMiotsEcssDQqLbBILLAAFkUjIC4gRoojYTixKwEUKy2wSSywCCNCsEgrLbBKLLIAAEErLbBLLLIAAUErLbBMLLIBAEErLbBNLLIBAUErLbBOLLIAAEIrLbBPLLIAAUIrLbBQLLIBAEIrLbBRLLIBAUIrLbBSLLIAAD4rLbBTLLIAAT4rLbBULLIBAD4rLbBVLLIBAT4rLbBWLLIAAEArLbBXLLIAAUArLbBYLLIBAEArLbBZLLIBAUArLbBaLLIAAEMrLbBbLLIAAUMrLbBcLLIBAEMrLbBdLLIBAUMrLbBeLLIAAD8rLbBfLLIAAT8rLbBgLLIBAD8rLbBhLLIBAT8rLbBiLLA3Ky6xKwEUKy2wYyywNyuwOystsGQssDcrsDwrLbBlLLAAFrA3K7A9Ky2wZiywOCsusSsBFCstsGcssDgrsDsrLbBoLLA4K7A8Ky2waSywOCuwPSstsGossDkrLrErARQrLbBrLLA5K7A7Ky2wbCywOSuwPCstsG0ssDkrsD0rLbBuLLA6Ky6xKwEUKy2wbyywOiuwOystsHAssDorsDwrLbBxLLA6K7A9Ky2wciyzCQQCA0VYIRsjIVlCK7AIZbADJFB4sAEVMC0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAVCsgABACqxAAVCswoCAQgqsQAFQrMOAAEIKrEABkK6AsAAAQAJKrEAB0K6AEAAAQAJKrEDAESxJAGIUViwQIhYsQNkRLEmAYhRWLoIgAABBECIY1RYsQMARFlZWVmzDAIBDCq4Af+FsASNsQIARAAA') format('truetype');
6 $$ src url("data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAmwAAsAAAAADtQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIwleU9TLzIAAAFEAAAAPwAAAFZHIFdiY21hcAAAAYQAAACNAAACNPKDNX5nbHlmAAACFAAABUUAAAeI96/LamhlYWQAAAdcAAAALgAAADYOSvaJaGhlYQAAB4wAAAAYAAAAJAe5A/lobXR4AAAHpAAAABAAAABAOpgAAGxvY2EAAAe0AAAAIgAAACIO6A0+bWF4cAAAB9gAAAAfAAAAIAEgAHFuYW1lAAAH+AAAAR0AAAHyFNvC+HBvc3QAAAkYAAAAlgAAANpA8Cu0eJxjYGRgYOBiMGCwY2DKSSzJY+BzcfMJYZBiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCAClZBUgAeJxjYGRexTiBgZWBgaWQaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOHxk/MjP/ALIjQKTQI0gAgDqDgsYAHic7ZHZDQMhDEQfC3sfNJIaUlC+UmQaooKNh0kZsfQ88mAQsoERyMEjKJDeJBSvcFP3M1v3C8/eU+S3et+Rk3LUpecheku8ODGzsMa9nYOTixrHE/84ev78qqoJmj7TwSDNRrtpxWjKbTTaW5sM0tkgXQzS1SDdjPbZdoP0MPpdOw3SyyCthvoF+AonBQAAAHicbVVdbBRVFL7n3t2Z/Zu/3dmZ0pZOu+3uSru7053uT2igja3ZFIrBblUMMUEaA00oFehCNGqwJAglxr8EeDCpMT6ID8qLj5QH8QH/EhNJfDFBIDHxQTQBEjTO6rmzU2qa7mTPPffce785P989Q4Dgj5l0kSQJSVQcC6oVx9BFQQEhZUMmmyndVgf0a9f0gW5VOjKvFtT5I5JKX9K0K1e01KAqzc1q2uycpA4SD4suMpNjgaErYBq6kMpmEKc0ChVE3ugcEzZ4AYdq4a0gns7xzCKHFEQhxdHQsYoD3yS/81FSLVwm6D/5EN0+KlmNccXzi4flYVQr6BMGbKCXG/oAr2wQ5CO/btKHpPP/eL5Pfga94On3mqOdPq05vfFz5+K9q/rSUhxoPH7xIjctL3PTmo7Qnr+fs8tEIpvxDVgEEcQqDBYr2QyIBciOIrj/sPl83pTck0N3MfOi5J6akre0a22Spm0yLEkAXJcE5p68O0QXFSPv7tA29ctTJg2EJaM7pUXJ6vt+YHUyQMYJKWulylCPY2wGLF5mO5QyvT0pIanpBlorOK+01tCaSVcrJaxuStAtwE18i4jSyVlw38opuqJEmrEISriPUldyVjNm5ZhzQRQvhHRFnHO/5au0PCcq+mX6nJXLWde5xRPupUfqdVz5GI+ELuDG0CGEOoTn/Vqw8+w8eREnKRHpkdTNLswPeipkM/zxaIyiWhkq8pRxUa1U0VgucTkKjpfKimMiR3GXaSCOkdS5NHmsRnUEq1oucTS4f3T/vurWdN+puiJ1d5iaEgkFWTgWioht0WCkIxkNtvW3dwWTz+S3DYhAZTEcUxNtncX5YmdbQo2FRZmCOLA996wkhmV5erEvvbW6bz87z+XRvfXdxzupFKmJARoJxcKRkKFGRUEVGE1GIv2MxtKJcMaZG7NVo68PaCAUTchyIhoKUOjrM1R7bM5JR6LxZMexiEQ7j++u7/Xc5WkKeLy9y5YIIyKJEkxfYkjrBf/P9X9rNfi0VmveqdXeq9XYkvsQ3m0egXfdafqZO81T7eX7CvsFub+V7MWce/UXzS6aREqkCmADJ4Ph4OVqrSm+oZot0DJSy+kCC9d0v8OUqtnW6N9GXTS9kT2lNNSCZrJooNsIyQozEuqCklfrSvNlVHJaXVm3wYzDPbteOFNYKBSLg2cLDbs1sx3H5jN43MQTcYMpcsi0AlFmaAWloShTKnxoqAuqUldyakNBRFkOG1Ygwkyt+fZ4YcoeXLDPDBaLdsN+s1Av2I3C2dZs9e6cYidJB3mMkHTWZ4nHRJ3TyqmaXjIyUBoBjF2XAbPEDq/k8wMTk5cmalv6ufLJjqtyVraloLtreKYxO4Li4OidlR17np6cGMj3b6lNXPKUqzJu6oETwzPDowcbM8Mjs6264h3YQwQSI+1ez4gCUtbEW2pDwpMF4PfaopAts/f/+eKdYCIMrDPx1T33tqn+Gpbj0l8xEH6mN5oHIP1bSGTu8/FYZAbealqaHDoWNKI0LkWDr+nN+vzfqzyYpn8giyyCicDr7wWMPQJ7AnasdXPwx17fzkruGwkhGBQS1B/Xzd3D6xZoRok4vBeguL6mQm5NJ5gB7tcY+8BneIKYWBmSLg9pPdpQchSCYroaFBn/J0QG5Z4k/XHS3TdZV2FebX7ZDdPWAxu6Bw/c3Haz+TucWL7VvAG5Ww92PrnTHV8ehyeG/xyGj5o38pB3X52cXPseFNk4UXm3FkRq6l38c4dEKGG/aOuiEEjZKAFoio1BV3tz1+tmCscXrn6900wR8h/eu034AAAAeJxjYGRgYABi36Vs0vH8Nl8ZuJlfAEUYrq6LeIRMM19gfgCkOBiYQDwALpoK5QAAeJxjYGRgYH7BwAAnLzAwMqACAQBDggK8eJxjYGBgYH5BPgYAq1cNxgAAAAAAJgBOAHIAmgDKAQIBYAH2AhgCoALiAxwDaAOiA8QAAHicY2BkYGAQYEhlYGMAASYg5gJCBob/YD4DABRhAZIAeJxdjr1OwzAUhU/6h2gQAiExm6ULUvoz9gHamQ7Z08RJWyVx5LiVKjEz8xTMPAXPxYl7JSps6fo75x5fG8ADfhCgWwGGvnarhxuqC/dJd8ID8qPwECGehUdUL8JjvGIiHOIJb5wQDG7pjJEJ93CPWrhP/114QP4QHnL6p/CI/pfwGDG+hUNMgtE+NXW70cWxTKxnX2Jt272p1Tyaeb3WtbaJ05nanlV7KhbO5Sq3plIrUztdlkY11hx06qKdc81yOs3Fj1JTYY8Uhn9usYFGgSNKJLBX/h/FTFjvdFphjgizq/6a/dpnEjieGTNbnFlbnDh7Qdchp86ZMahIK3+3S5fchk7jewc6Kf0IO3+rwRJT7vxfPvKvV78w9VNiAAAAeJxti1sOgjAUBXuxoFZAXEgXVUopN/Rh+gDdvRiCX87PZJJzSEF2GPlPBwWcgEIJFZzhAldgcIMaGmjhDh08SC0ntQTv+OBX9wujxtQcEVBPiR2Vn6UMPkaqBkxMvTDtg0pjmnL/VVKBGnRzZ4V2OL7Raa6NiLGy2ylbapXLbUxCztwvKozGr/XmhFIY3otAyAcEfzfnAAA=") format("woff")
7 < [class*="icon-"]
8 line-height 1
9 < [class*="icon-"]:before
10 font-family icons !important
11 font-style normal
12 font-weight normal !important
13 $foreach icon in iconDefs
14 . ${icon.name}:before
15 content "\${icon.code}"

/src/ittf/jobs/ittf__copy/site/site/t/css/logo.css.ittf

    
1 $group
2 $include defs
3 . logo-w
4 font-size 38px
5 font-weight 700
6 color #fefffe
7 . logo-i1
8 font-size 18px
9 font-weight 700
10 color #fefeff
11 . logo-z1
12 font-size 24px
13 font-weight 700
14 color #ffefef
15 . logo-z2
16 font-size 34px
17 font-weight 700
18 color #fefeff
19 . logo-i2
20 font-size 42px
21 font-weight 700
22 color #fefffe
23 . logo-f
24 font-size 34px
25 font-weight 700
26 color #fefefe
27 . logo-a
28 font-size 24px
29 font-weight 700
30 color #ffffef
31 . logo-c
32 font-size 20px
33 font-weight 700
34 color #fefeff
35 . logo-t
36 font-size 32px
37 font-weight 700
38 color #fefeff
39 . logo-o
40 font-size 18px
41 font-weight 700
42 color #fffefe
43 . logo-r
44 font-size 40px
45 font-weight 700
46 color #feffff
47 . logo-y
48 font-size 24px
49 font-weight 700
50 color #feffef

/src/ittf/jobs/ittf__copy/site/site/t/css/modal.css.ittf

    
1 $group
2 . modal
3 display none
4 position fixed
5 z-index 1
6 left 0
7 top 0
8 width 100%
9 height 100%
10 overflow auto
11 background-color rgb(0,0,0)
12 background-color rgba(0,0,0,0.4)
13 . modal-content
14 background-color #fefefe
15 margin 15% auto
16 padding 20px
17 border 1px solid #888
18 width 80%
19 . modal-close
20 color #aaa
21 float right
22 font-size 28px
23 font-weight bold
24 . modal-close:hover
25 + .modal-close:focus
26 color black
27 text-decoration none
28 cursor pointer

/src/ittf/jobs/ittf__copy/site/site/t/css/navigation-search.css.ittf

    
1 $group
2 media (min-width: 768px)
3 . navigation__search
4 -webkit-box-flex 0
5 -ms-flex 0 0 auto
6 flex 0 0 auto
7 display -webkit-box
8 display -ms-flexbox
9 display flex
10 -webkit-box-pack end
11 -ms-flex-pack end
12 justify-content flex-end
13 padding 0.8em 0
14 . navigation__search-input
15 padding 0
16 border none
17 background transparent
18 width 0
19 font-size 14px
20 text-indent 0.5em
21 border-bottom 1px solid #465E69
22 margin-right 0
23 color #ffffff
24 text-shadow 0 0 0 #f2f2f2
25 -webkit-transition all 250ms
26 transition all 250ms
27 . navigation__search-input::-webkit-input-placeholder
28 color #5a7988
29 text-shadow none
30 -webkit-text-fill-color initial
31 . navigation__search-icon
32 font-size 1em
33 padding 0
34 border none
35 cursor pointer
36 color #dedede
37 background transparent
38 -webkit-transition color 250ms
39 transition color 250ms
40 . navigation__search-icon.icon-cross
41 display none
42 . navigation__search-icon:hover
43 color #8DD6F9
44 . navigation__search-input:focus
45 + .navigation__search-icon:focus
46 outline none
47 . navigation__icon
48 display block
49 margin-left 1em
50 color #ffffff
51 . navigation__icon:hover
52 color #8DD6F9
53 . navigation__languages
54 margin-left 1em
55 margin-top -4px
56 media (min-width: 768px)
57 . navigation--search-mode .navigation__link
58 pointer-events none
59 overflow hidden
60 white-space nowrap
61 padding 1.5em 0
62 margin-right -35px
63 opacity 0
64 . navigation--search-mode .navigation__search-input
65 margin-right 0.5em
66 width 400px
67 . navigation--search-mode .navigation__search-icon.icon-cross
68 display block
69 . navigation--search-mode .navigation__search-icon.icon-magnifying-glass
70 display none

/src/ittf/jobs/ittf__copy/site/site/t/css/navigation.css.ittf

    
1 $group
2 $include defs
3 . navigation
4 -webkit-box-flex 0
5 -ms-flex 0 0 auto
6 flex 0 0 auto
7 -webkit-transition background 250ms
8 transition background 250ms
9 background ${color3} $$ #2B3A42
10 . navigation__inner
11 display -webkit-box
12 display -ms-flexbox
13 display flex
14 -webkit-box-align center
15 -ms-flex-align center
16 align-items center
17 position relative
18 padding 0.6em 1em
19 media (min-width: 768px)
20 . navigation__inner
21 padding 0 1.5em
22 . navigation__logo
23 margin auto
24 . navigation__links
25 display none
26 media (min-width: 768px)
27 . navigation__links
28 -webkit-box-flex 1
29 -ms-flex 1 1 auto
30 flex 1 1 auto
31 display -webkit-box
32 display -ms-flexbox
33 display flex
34 -webkit-box-align center
35 -ms-flex-align center
36 align-items center
37 -webkit-box-pack end
38 -ms-flex-pack end
39 justify-content flex-end
40 media (min-width: 768px)
41 . navigation__link
42 display inline-block
43 font-size ${navLinkFontSize}px
44 $if navLinkUCase
45 text-transform uppercase
46 color #ffffff
47 -webkit-transition all 250ms
48 transition all 250ms
49 padding 1.5em 0.75em
50 . navigation__link:last-child
51 margin-right 0.75em
52 media (min-width: 1024px)
53 . navigation__link
54 padding 1.5em
55 . navigation__link:hover
56 color ${color14} $$ #8DD6F9
57 . navigation__link--active
58 color ${color0}
59 background ${color14} $$ #354851
60 font-weight 700
61 . navigation__link--active:hover
62 color ${color0}
63 background ${color14} $$ #354851
64 font-weight 700
65 . navigation__search
66 display none
67 . navigation__icon
68 display none
69 . navigation__bottom
70 display none
71 background ${color14} $$ #354851
72 media (min-width: 768px)
73 . navigation__bottom
74 display block
75 . navigation__child
76 font-size ${navChildFontSize}px
77 padding 0.5em 1em 0.6em
78 color ${color0} $$ #dedede
79 font-weight 500
80 $if navChildUCase
81 text-transform uppercase
82 . navigation__child:first-of-type
83 margin-left 0
84 . navigation__child:hover
85 color #ffffff $$ #8DD6F9
86 . navigation__child--active
87 color #ffffff
88 background ${color13} $$ #ffffff
89 font-weight 700
90 . navigation__child--active:hover
91 color #ffffff
92 font-weight 700

/src/ittf/jobs/ittf__copy/site/site/t/css/prettyprint.css.ittf

    
1 $group
2 . pln
3 color #F1F2F3
4 media screen
5 . pp-ln
6 color #999
7 . pp-pln
8 color #BBB
9 . pp-str
10 color #EC7600 $$ string content
11 . pp-kwd
12 color #f79256 $$ a keyword
13 . pp-com
14 color #66747B $$ a comment
15 . pp-typ
16 color #678CB1 $$ a type name
17 . pp-lit
18 color #FACD22 $$ a literal value
19 . pp-mix
20 color #ff0040 $$ mixin call
21 cursor pointer
22 . pp-tag
23 color #8AC763 $$ a markup tag name
24 . pp-atn
25 color #E0E2E4 $$ a markup attribute name
26 . pp-atv
27 color #EC7600 $$ a markup attribute value
28 . pp-expr
29 color #f3e877 $$ a declaration; a variable name
30 . pp-fun
31 color red $$ a function name
32 . pp-arg
33 color yellow $$ a mixin arg
34 < pre
35 margin 0
36 < pre.prettyprint
37 padding 0px 0px 20px 0px
38 border 0px solid #888
39 font-size 1.1em
40 overflow auto
41 . prettyprint
42 background #2B3A42
43 < div.L0, div.L1, div.L2, div.L3, div.L4, div.L5, div.L6, div.L7, div.L8, div.L9
44 color #777
45 margin 0
46 padding-left 5px
47 list-style-type decimal
48 # Alternate shading for lines
49 < div.L1, div.L3, div.L5, div.L7, div.L9
50 background #444
51 . prettyprint-js
52 background #fff
53 # Alternate shading for lines
54 < div.J1, div.J3, div.J5, div.J7, div.J9
55 background #ddd

/src/ittf/jobs/ittf__copy/site/site/t/css/reset_OLD.css.ittf

    
1 $group
2 $include defs
3 font-face
4 font-family 'Geomanist'
5 src url(/1ebd0482aadade65f20ec178219fe012.woff2) format("woff2"), url(/314bbcd238d458622bbf32427346774f.woff) format("woff")
6 font-weight 600
7 font-style normal
8 < html
9 + body
10 + div
11 + span
12 + applet
13 + object
14 + iframe
15 + h1
16 + h2
17 + h3
18 + h4
19 + h5
20 + h6
21 + p
22 + blockquote
23 + a
24 + abbr
25 + acronym
26 + address
27 + big
28 + cite
29 + code
30 + del
31 + dfn
32 + em
33 + img
34 + ins
35 + kbd
36 + q
37 + s
38 + samp
39 + small
40 + strike
41 + strong
42 + sub
43 + sup
44 + tt
45 + var
46 + b
47 + u
48 + i
49 + center
50 + dl
51 + dt
52 + dd
53 + ol
54 + ul
55 + li
56 + fieldset
57 + form
58 + label
59 + legend
60 + table
61 + caption
62 + tbody
63 + tfoot
64 + thead
65 + tr
66 + th
67 + td
68 + article
69 + aside
70 + canvas
71 + details
72 + embed
73 + figure
74 + figcaption
75 + footer
76 + header
77 + hgroup
78 + menu
79 + nav
80 + output
81 + ruby
82 + section
83 + summary
84 + time
85 + mark
86 + audio
87 + video
88 border 0
89 font-size 100%
90 font inherit
91 vertical-align baseline
92 margin 0
93 padding 0
94 < blockquote
95 + q
96 quotes none
97 < blockquote:before
98 + blockquote:after
99 + q:before
100 + q:after
101 content none
102 < body
103 font 400 16px "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif
104 color ${color20} $$ #2B3A42
105 -webkit-font-smoothing antialiased
106 -moz-osx-font-smoothing grayscale

/src/ittf/jobs/ittf__copy/site/site/t/css/reset-box-sizing.css.ittf

    
1 $group
2 - https://css-tricks.com/box-sizing/
3 < html
4 box-sizing border-box
5 < *
6 + *:before
7 + *:after
8 box-sizing inherit

/src/ittf/jobs/ittf__copy/site/site/t/css/reset.css.ittf

    
1 $group
2 < body
3 margin 0
4 padding 0
5 font-family roboto, verdana, tahoma, arial
6 font-size 95%
7 line-height 1
8 < p img
9 border none
10 display block
11 margin 0 auto
12 < article
13 + aside
14 + details
15 + figcaption
16 + figure
17 + footer
18 + header
19 + hgroup
20 + menu
21 + nav
22 + section
23 display block
24 < table
25 border-collapse collapse
26 border-spacing 0

/src/ittf/jobs/ittf__copy/site/site/t/css/sidebar.css.ittf

    
1 $group
2 . sidebar
3 display none
4 width 100%
5 max-height 100%
6 overflow auto
7 @ will-change transform
8 media (min-width: 768px)
9 . sidebar
10 display block
11 . sidebar__inner
12 padding 1.5em
13 overflow hidden
14 . sidebar-item
15 position relative
16 display -webkit-box
17 display -ms-flexbox
18 display flex
19 -ms-flex-wrap wrap
20 flex-wrap wrap
21 font-size 15px
22 margin 0.6em 0
23 . sidebar-item__toggle
24 -webkit-box-flex 0
25 -ms-flex 0 0 auto
26 flex 0 0 auto
27 margin-top 0.125em
28 margin-right 0.5em
29 cursor pointer
30 color #1D78C1
31 -webkit-transition all 250ms
32 transition all 250ms
33 . sidebar-item__toggle:hover
34 color #333333
35 . sidebar-item__title
36 -webkit-box-flex 1
37 -ms-flex 1 1 auto
38 flex 1 1 auto
39 font-weight 600
40 color #666666
41 max-width 85%
42 overflow hidden
43 white-space nowrap
44 text-overflow ellipsis
45 . sidebar-item__anchors
46 position relative
47 display none
48 -webkit-box-flex 0
49 -ms-flex 0 0 100%
50 flex 0 0 100%
51 -ms-flex-wrap wrap
52 flex-wrap wrap
53 margin 0.35em 0
54 padding-left 1.5em
55 overflow hidden
56 list-style none
57 . sidebar-item__anchors:before
58 content ''
59 position absolute
60 height calc(100% - 0.6em)
61 top 0
62 left 1.5em
63 border-left 1px dashed #999999
64 . sidebar-item__anchor
65 position relative
66 -webkit-box-flex 0
67 -ms-flex 0 0 100%
68 flex 0 0 100%
69 margin 0.25em 0
70 padding-left 1em
71 overflow hidden
72 white-space nowrap
73 text-overflow ellipsis
74 . sidebar-item__anchor:first-child
75 margin-top 0
76 . sidebar-item__anchor:last-child
77 margin-bottom 0
78 . sidebar-item__anchor:before
79 content ''
80 position absolute
81 width 0.5em
82 left 0
83 top 60%
84 border-bottom 1px dashed #999999
85 . sidebar-item__anchor a
86 color #535353
87 . sidebar-item__anchor a:hover
88 color #1D78C1
89 . sidebar-item--open .sidebar-item__anchors
90 display -webkit-box
91 display -ms-flexbox
92 display flex
93 . sidebar-item--open .sidebar-item__toggle
94 -webkit-transform-origin center center
95 transform-origin center center
96 -webkit-transform rotate(90deg)
97 transform rotate(90deg)
98 . sidebar-item--disabled .sidebar-item__toggle
99 color #AAA

/src/ittf/jobs/ittf__copy/site/site/t/css/site.css.ittf

    
1 $group
2 . site
3 display -webkit-box
4 display -ms-flexbox
5 display flex
6 -webkit-box-orient vertical
7 -webkit-box-direction normal
8 -ms-flex-direction column
9 flex-direction column
10 min-height 100vh
11 overflow hidden
12 . site.nav-displayed
13 height 100vh

/src/ittf/jobs/ittf__copy/site/site/t/css/tabs.css.ittf

    
1 $group
2 . wz-ui-tabs-container
3 clear both
4 float left
5 width 100%
6 overflow hidden
7 . wz-ui-tabs
8 padding 0
9 margin 0 auto
10 list-style-type none
11 float left
12 position relative
13 left 50%
14 height 70px
15 . wz-ui-tabs li
16 float left
17 position relative
18 right 50%
19 . wz-ui-tabs li a
20 width auto
21 display block
22 padding 4px 16px
23 color #fff
24 background #aaa
25 border 1px solid #fff
26 text-decoration none
27 cursor pointer
28 . wz-ui-tabs .wz-ui-selected
29 background #000
30 . wz-ui-tabs .wz-ui-unselected li a:hover
31 color #000
32 background #d4d4d4
33 . wz-ui-page
34 clear both

/src/ittf/jobs/ittf__copy/site/site/t/css/toc.css.ittf

    
1 $group
2 . toc
3 list-style none
4 margin-bottom 20px
5 . toc li
6 overflow hidden
7 padding-bottom 2px
8 . toc a
9 text-decoration none
10 display inline-block
11 color #666
12 position relative
13 bottom -4px
14 . toc a:hover
15 color #000

/src/ittf/jobs/ittf__copy/site/site/t/css/treeview.css.ittf

    
1 $group
2 . treeview
3 + .treeview *
4 padding 0
5 margin 0
6 list-style none
7 . treeview label[for]::before
8 + .treeview label span::before
9 content "\25b6"
10 display inline-block
11 margin 2px 0 0
12 width 13px
13 height 13px
14 vertical-align top
15 text-align center
16 color #e74c3c
17 font-size 10px
18 line-height 13px
19 . treeview li ul
20 margin 0 0 0 11px
21 . treeview *
22 vertical-align middle
23 . treeview
24 font normal 13px/16px "Segoe UI", Arial, Sans-serif
25 . treeview li
26 -webkit-user-select none
27 -moz-user-select none
28 user-select none
29 . treeview input[type="checkbox"]
30 display none
31 . treeview label
32 cursor pointer
33 . treeview label[for]::before
34 -webkit-transform translatex(-12px)
35 -moz-transform translatex(-12px)
36 -ms-transform translatex(-12px)
37 -o-transform translatex(-12px)
38 transform translatex(-12px)
39 . treeview label span::before
40 -webkit-transform translatex(8px)
41 -moz-transform translatex(8px)
42 -ms-transform translatex(8px)
43 -o-transform translatex(8px)
44 transform translatex(8px)
45 . treeview input[type="checkbox"][id]:checked ~ label[for]::before
46 content "\25bc"
47 . treeview input[type="checkbox"][id]:not(:checked) ~ ul
48 display none
49 . treeview label:not([for])
50 margin 0 4px 0 0
51 . treeview label span::before
52 content ""
53 border solid 1px #1375b3
54 color #1375b3
55 opacity .50
56 . treeview label input:checked + span::before
57 content "\2714"
58 box-shadow 0 0 2px rgba(0, 0, 0, .25) inset
59 opacity 1

/src/ittf/jobs/ittf__copy/site/site/t/css/tv.css.ittf

    
1 $group
2 . wz-ui-tv-container
3 clear both
4 width 100%
5 overflow hidden
6 border 1px solid #000
7 background #000
8 color #ddd
9 . wz-ui-tv-documents
10 padding 0
11 margin 0 auto
12 list-style-type none
13 position relative
14 . wz-ui-tv-documents img
15 width 14px
16 height 14px
17 vertical-align middle
18 . wz-ui-tv-document-selected
19 color #f00

/src/ittf/jobs/ittf__copy/site/site/t/css/wfschema.css.ittf

    
1 $group
2 . wfschema-a-table
3 width 100%
4 . wfschema-a-table tr
5 border-top 1px solid #ccc
6 . wfschema-a-table td
7 vertical-align top
8 . wfschema-comment
9 background-color #ffffe6
10 margin 2px
11 padding 8px
12 border-top 1px solid #ffffd5
13 . wfschema-label
14 font-size 0.8em
15 font-weight bold
16 padding-right 3px
17 . wfschema-e-panel
18 border-top 10px solid #eee
19 padding-top 15px
20 margin-top 20px
21 margin-bottom 40px
22 . wfschema-e-name
23 font-size 2em
24 font-weight bold
25 padding-right 6px
26 . wfschema-e-tag
27 . wfschema-e-super
28 . wfschema-e-flags

/src/ittf/jobs/ittf__copy/site/site/t/js/controls/tabcontrol.js.ittf

    
1 $group
2 class wzuiTabControl
3 ctor
4 param element
5 set this.element = wzui.element(element)
6 set this.tabs = []
7 set this.defaultTab = null
8 m initialize
9 if this.tabs.length === 0
10 return
11 set this.defaultTab = this.defaultTab || this.tabs[0].element
12 foreach tab in this.tabs
13 if tab.element === this.defaultTab
14 set tab.page.style.display = 'block'
15 _ wzui.addClass(tab.element, 'wz-ui-selected')
16 _ wzui.removeClass(tab.element, 'wz-ui-unselected')
17 else
18 set tab.page.style.display = 'none'
19 _ wzui.removeClass(tab.element, 'wz-ui-selected')
20 _ wzui.addClass(tab.element, 'wz-ui-unselected')
21 m setDefaultTab
22 param element
23 set this.defaultTab = wzui.element(element)
24 m addTab
25 param element
26 set element = wzui.element(element)
27 var pageId = element.getAttribute("data-tab-page")
28 log 'pageId', pageId
29 var pageElement = document.getElementById(pageId)
30 log 'pageElement', pageElement
31 _ wzui.click
32 @ element
33 @ wzuiTabControl.createClickHandler(this)
34 _ this.tabs.push
35 {
36 @ element element
37 @ page pageElement
38 set wzuiTabControl.createClickHandler
39 function
40 param tabControl
41 return
42 function
43 foreach tab in tabControl.tabs
44 if tab.element === this
45 set tab.page.style.display = 'block'
46 _ wzui.addClass(tab.element, 'wz-ui-selected')
47 _ wzui.removeClass(tab.element, 'wz-ui-unselected')
48 else
49 set tab.page.style.display = 'none'
50 _ wzui.removeClass(tab.element, 'wz-ui-selected')
51 _ wzui.addClass(tab.element, 'wz-ui-unselected')

/src/ittf/jobs/ittf__copy/site/site/t/js/controls/tvdocuments.js.ittf

    
1 $group
2 class wzuiTvDocumentsControl
3 ctor
4 param element
5 set this.element = wzui.element(element)
6 set this.documents = []
7 set this.defaultDocument = null
8 set this.activeDocumentTitleElement = null
9 m initialize
10 if this.documents.length === 0
11 return
12 set this.defaultDocument = this.defaultDocument || this.documents[0].element
13 foreach doc in this.documents
14 if doc.element === this.defaultDocument
15 set doc.page.style.display = 'block'
16 _ wzui.addClass(doc.element, 'wz-ui-tv-document-selected')
17 if this.activeDocumentTitleElement
18 var docPath = doc.element.getAttribute("data-doc-path")
19 _ wzui.text(this.activeDocumentTitleElement, docPath)
20 else
21 set doc.page.style.display = 'none'
22 _ wzui.removeClass(doc.element, 'wz-ui-tv-document-selected')
23 m setDefaultDocument
24 param element
25 set this.defaultDocument = wzui.element(element)
26 m setActiveDocumentTitleElement
27 param element
28 set this.activeDocumentTitleElement = wzui.element(element)
29 m addDocument
30 param element
31 set element = wzui.element(element)
32 var pageId = element.getAttribute("data-tab-page")
33 log 'pageId', pageId
34 var pageElement = document.getElementById(pageId)
35 log 'pageElement', pageElement
36 _ wzui.click
37 @ element
38 @ wzuiTvDocumentsControl.createClickHandler(this)
39 _ this.documents.push
40 {
41 @ element element
42 @ page pageElement
43 set wzuiTvDocumentsControl.createClickHandler
44 function
45 param tvDocumentsControl
46 return
47 function
48 foreach doc in tvDocumentsControl.documents
49 if doc.element === this
50 set doc.page.style.display = 'block'
51 _ wzui.addClass(doc.element, 'wz-ui-tv-document-selected')
52 if tvDocumentsControl.activeDocumentTitleElement
53 var docPath = doc.element.getAttribute("data-doc-path")
54 log 'docPath', docPath
55 _ wzui.text(tvDocumentsControl.activeDocumentTitleElement, docPath)
56 else
57 set doc.page.style.display = 'none'
58 _ wzui.removeClass(doc.element, 'wz-ui-tv-document-selected')

/src/ittf/jobs/ittf__copy/site/site/t/js/clickHandler.js.ittf

    
1 $group
2 function setupClickHandler
3 param ctx
4 _ wzui.click
5 @ wzui.element('#wrapper')
6 @ create_wrapperClickHandler(ctx)
7 function create_wrapperClickHandler
8 param ctx
9 return
10 function wrapperClickHandler
11 param event
12 log 'wrapperClickHandler.target', event.target, event.target.dataset
13 log 'has class frag-to-link-a', wzui.hasClass(event.target, 'frag-to-link-a')
14 if wzui.hasClass(event.target, 'frag-to-link-a')
15 log 'href', event.target.href
16 _ ctx.modalManager.pushFragment
17 @ event.target.dataset.fragId
18 _ event.preventDefault()
19 _ event.stopPropagation()
20 else
21 if ctx.modalManager.checkClick(event.target)
22 _ event.preventDefault()
23 _ event.stopPropagation()

/src/ittf/jobs/ittf__copy/site/site/t/js/element.js.ittf

    
1 $group
2 $params wzui
3 var rclass = /[\n\t\r]/g
4 var rnotwhite = (/\S+/g)
5 set ${wzui}.element
6 function
7 param element
8 return typeof element === 'string' ? document.getElementById(element) : element
9 set ${wzui}.hasClass
10 function
11 param element
12 param selector
13 if (" " + element.className + " ").replace(rclass, " ").indexOf(" " + selector + " ") > -1
14 return true
15 return false
16 set ${wzui}.addClass
17 function
18 param element
19 param value
20 var classes, cur, finalValue
21 if value && typeof value === "string"
22 set classes = ( value || "" ).match( rnotwhite ) || []
23 if !element.className && classes.length === 1
24 set element.className = value
25 else
26 set cur = " " + element.className + " "
27 foreach clazz in classes
28 if cur.indexOf( " " + clazz + " " ) < 0
29 set cur += clazz + " "
30 set finalValue = cur.trim()
31 if element.className !== finalValue
32 set element.className = finalValue
33 set ${wzui}.removeClass
34 function
35 param element
36 param value
37 var classes, cur, finalValue
38 if value && typeof value === "string"
39 set classes = ( value || "" ).match( rnotwhite ) || []
40 set cur = element.className ? ( " " + element.className + " " ).replace( rclass, " " ) : ""
41 foreach clazz in classes
42 while cur.indexOf( " " + clazz + " " ) >= 0
43 set cur = cur.replace( " " + clazz + " ", " " )
44 set finalValue = cur.trim()
45 if element.className !== finalValue
46 set element.className = finalValue
47 set ${wzui}.text
48 function
49 param element
50 param value
51 if typeof value === 'undefined'
52 return element.textContent
53 elif element.textContent !== value
54 set element.textContent = value

/src/ittf/jobs/ittf__copy/site/site/t/js/modal.js.ittf

    
1 $group
2 function modalSetup
3 param ctx
4 set ctx.fragModal = wzui.element('#frag-modal')
5 # log 'ctx.fragModal', ctx.fragModal
6 set ctx.fragModalClose = wzui.element('#frag-modal .modal-close')
7 # log 'ctx.fragModalClose', ctx.fragModalClose
8 set ctx.fragModalContent = wzui.element('#frag-modal-content')
9 set ctx.fragModalClose.onclick
10 function
11 set ctx.fragModal.style.display = "none"
12 set window.onclick
13 function
14 param event
15 if event.target == ctx.fragModal
16 set ctx.fragModal.style.display = "none"
17 class ModalManager
18 ctor
19 param ctx
20 set this.ctx = ctx
21 set this.currentContent = null
22 set this.currentContentOriginalParent = null
23 set this.modalStack = []
24 m setup
25 var that = this
26 set this.fragModal = wzui.element('#frag-modal')
27 # log 'this.fragModal', this.fragModal
28 set this.fragModalClose = wzui.element('#frag-modal .modal-close')
29 # log 'this.fragModalClose', this.fragModalClose
30 set this.fragModalContent = wzui.element('#frag-modal-content')
31 set this.fragModalClose.onclick
32 function
33 _ that.popFragment
34 set window.onclick
35 function
36 param event
37 if event.target == this.fragModal
38 _ that.popFragment
39 m checkClick
40 param target
41 if target == this.fragModal
42 # close all
43 while this.modalStack.length > 0
44 _ this.popFragment()
45 return true
46 else
47 return false
48 m pushFragment
49 param fragmentId
50 _ this.resetFragment
51 var fragContentOriginalParent
52 _ wzui.element
53 @ '#' + fragmentId
54 log 'fragContentOriginalParent', fragContentOriginalParent
55 var fragContent
56 _ wzui.element
57 @ '#' + fragmentId + ' div:first-of-type'
58 log 'fragContent', fragContent
59 set this.fragModal.style.display = "block"
60 _ this.fragModalContent.appendChild
61 @ fragContent
62 _ this.modalStack.push
63 {
64 @ content fragContent
65 @ contentOriginalParent fragContentOriginalParent
66 set this.currentContent = fragContent
67 set this.currentContentOriginalParent = fragContentOriginalParent
68 m popFragment
69 _ this.resetFragment
70 _ this.modalStack.pop()
71 if this.modalStack.length > 0
72 var modalContent = this.modalStack[this.modalStack.length-1]
73 _ this.fragModalContent.appendChild
74 @ modalContent.content
75 set this.currentContent = modalContent.content
76 set this.currentContentOriginalParent = modalContent.contentOriginalParent
77 if this.modalStack.length == 0
78 set this.fragModal.style.display = "none"
79 m resetFragment
80 if this.currentContent != null
81 _ this.currentContentOriginalParent.appendChild
82 @ this.currentContent
83 set this.currentContent = null
84 set this.currentContentOriginalParent = null

/src/ittf/jobs/ittf__copy/site/site/t/js/wzui-events.js.ittf

    
1 $group
2 iife ()
3 if document.addEventListener
4 set window.addEvent =
5 function
6 param elem
7 param type
8 param handler
9 param useCapture
10 _ elem.addEventListener(type, handler, !(!(useCapture)))
11 return handler
12 set window.removeEvent =
13 function
14 param elem
15 param type
16 param handler
17 param useCapture
18 _ elem.removeEventListener(type, handler, !(!(useCapture)))
19 return true
20 elif document.attachEvent
21 set window.addEvent =
22 function
23 param elem
24 param type
25 param handler
26 set type = ("on" + type)
27 var boundedHandler
28 function
29 return handler.apply(elem, arguments)
30 _ elem.attachEvent(type, boundedHandler)
31 return boundedHandler
32 set window.removeEvent =
33 function
34 param elem
35 param type
36 param handler
37 set type = ("on" + type)
38 _ elem.detachEvent(type, handler)
39 return true

/src/ittf/jobs/ittf__copy/site/site/t/js/wzui.js.ittf

    
1 $group
2 iife ()
3 var wzui = window.wzui = {}
4 var rclass = /[\n\t\r]/g
5 var rnotwhite = (/\S+/g)
6 set wzui.element
7 function
8 param element
9 return typeof element === 'string' ? document.querySelector(element) : element
10 set wzui.hasClass
11 function
12 param element
13 param selector
14 if (" " + element.className + " ").replace(rclass, " ").indexOf(" " + selector + " ") > -1
15 return true
16 return false
17 set wzui.addClass
18 function
19 param element
20 param value
21 var classes, cur, finalValue
22 if value && typeof value === "string"
23 set classes = ( value || "" ).match( rnotwhite ) || []
24 if !element.className && classes.length === 1
25 set element.className = value
26 else
27 set cur = " " + element.className + " "
28 foreach clazz in classes
29 if cur.indexOf( " " + clazz + " " ) < 0
30 set cur += clazz + " "
31 set finalValue = cur.trim()
32 if element.className !== finalValue
33 set element.className = finalValue
34 set wzui.removeClass
35 function
36 param element
37 param value
38 var classes, cur, finalValue
39 if value && typeof value === "string"
40 set classes = ( value || "" ).match( rnotwhite ) || []
41 set cur = element.className ? ( " " + element.className + " " ).replace( rclass, " " ) : ""
42 foreach clazz in classes
43 while cur.indexOf( " " + clazz + " " ) >= 0
44 set cur = cur.replace( " " + clazz + " ", " " )
45 set finalValue = cur.trim()
46 if element.className !== finalValue
47 set element.className = finalValue
48 set wzui.text
49 function
50 param element
51 param value
52 if typeof value === 'undefined'
53 return element.textContent
54 elif element.textContent !== value
55 set element.textContent = value
56 set wzui.click
57 function
58 param element
59 param handler
60 param useCapture
61 _ window.addEvent
62 @ wzui.element(element)
63 @ 'click'
64 @ handler
65 @ useCapture
66 set wzui.contentLoaded
67 function
68 param fn
69 # from Diego Perini https://raw.githubusercontent.com/dperini/ContentLoaded/master/src/contentloaded.js
70 var
71 decl done = false
72 decl top = true
73 decl doc = window.document
74 decl root = doc.documentElement
75 decl modern = doc.addEventListener
76 decl add = modern ? 'addEventListener' : 'attachEvent'
77 decl rem = modern ? 'removeEventListener' : 'detachEvent'
78 decl pre = modern ? '' : 'on'
79 decl init
80 function
81 param e
82 if (e.type == 'readystatechange') && (doc.readyState != 'complete')
83 return
84 _ (e.type == 'load' ? window : doc)[rem]((pre + e.type), init, false)
85 if !(done) && (done = true)
86 _ fn.call(window, (e.type || e))
87 decl poll
88 function
89 try
90 _ root.doScroll('left')
91 catch e
92 _ setTimeout(poll, 50)
93 return
94 _ init('poll')
95 if doc.readyState == 'complete'
96 _ fn.call(window, 'lazy')
97 else
98 if !(modern) && root.doScroll
99 try
100 set top = ! (window.frameElement)
101 catch e
102 if top
103 _ poll()
104 _ doc[add]((pre + 'DOMContentLoaded'), init, false)
105 _ doc[add]((pre + 'readystatechange'), init, false)
106 _ window[add]((pre + 'load'), init, false)

/src/ittf/jobs/ittf__copy/site/site/t/defs.css.ittf

    
1 $group
2 $
3 var iconDefs = [
4 { name: 'icon-chevron-down', code: 'F101'},
5 { name: 'icon-chevron-left', code: 'F102'},
6 { name: 'icon-chevron-right', code: 'F103'},
7 { name: 'icon-chevron-up', code: 'F104'},
8 { name: 'icon-chevron-cross', code: 'F105'},
9 { name: 'icon-edit', code: 'F106'},
10 { name: 'icon-exit-right', code: 'F107'},
11 { name: 'icon-github-old', code: 'F108'},
12 { name: 'icon-github', code: 'f300'},
13 { name: 'icon-gitter', code: 'F109'},
14 { name: 'icon-link', code: 'F10A'},
15 { name: 'icon-link', code: 'F10A'},
16 { name: 'icon-magnifying-glass', code: 'F10B'},
17 { name: 'icon-medium', code: 'F10C'},
18 { name: 'icon-menu', code: 'F10D'},
19 { name: 'icon-stack-overflow', code: 'F10E'},
20 { name: 'icon-stackoverflow', code: 'e800'},
21 { name: 'icon-vertical-bar', code: 'F10F'},
22 { name: 'icon-twitter', code: 'f309'},
23 { name: 'icon-facebook', code: 'f30c'},
24 { name: 'icon-search', code: 'f50d'}
25 ];
26 // http://paletton.com/#uid=33s0u0kllllqQfZo5iFiAo1fQqH
27 var color0 = '#103C51';
28 var color1 = '#1B485E';
29 var color2 = '#27556C';
30 var color3 = '#366379';
31 var color4 = '#477287';
32 var color5 = '#375277';
33 var color10 = '#7F6215';
34 var color11 = '#957625';
35 var color12 = '#AA8B39';
36 var color13 = '#BFA150';
37 var color14 = '#D5B86B';
38 var color20 = '#7F2B15';
39 var color21 = '#953C25';
40 var color22 = '#AA5039';
41 var color23 = '#BF6750';
42 var color24 = '#D5816B';
43 var navLinkUCase = true;
44 var navChildUCase = false;
45 var navLinkFontSize = 14;
46 var navChildFontSize = 15;
47 var logoWord = ['w', 'i', 'z', 'z', 'i', ' ', 'f', 'a', 'c', 't', 'o', 'r', 'y'];
48 var logoClass = ['w', 'i1', 'z1', 'z2', 'i2', 'blank', 'f', 'a', 'c', 't', 'o', 'r', 'y'];

/src/ittf/jobs/ittf__copy/site/site/api-styles.css.ittf

    
1 css
2 . main-content p
3 + .main-content blockquote
4 + .main-content table
5 + .main-content pre
6 + .splash__section p
7 + .splash__section blockquote
8 + .splash__section table
9 + .splash__section pre
10 margin 0
11 $include css/api

/src/ittf/jobs/ittf__copy/site/site/wizzifactory.css.ittf

    
1 css
2 $include css/reset-box-sizing
3 $include css/reset
4 $include css/frame
5 $include css/header
6 $include css/toc
7 $include css/site
8 $include css/logo
9 $$ $include css/container
10 $include css/navigation
11 $include css/navigation-search
12 $include css/sidebar
13 $include css/tabs
14 $include css/tv
15 $include css/treeview
16 $include css/code
17 $include css/prettyprint
18 $include css/modal
19 $include css/gridSystem_float
20 $include css/wfschema

/src/ittf/jobs/ittf__copy/site/site/wizzifactory.js.ittf

    
1 module
2 kind jsfile
3 js/wzui-events()
4 js/wzui()
5 js/controls/tabcontrol()
6 js/controls/tvdocuments()
7 $include js/clickHandler
8 $include js/modal
9 _ wzui.contentLoaded
10 function
11 var ctx
12 {
13 @ tabControls []
14 @ currentTabControl null
15 @ documentControls []
16 @ currentDocumentControl null
17 _ setup (document.documentElement, ctx)
18 foreach tabControl in ctx.tabControls
19 _ tabControl.initialize()
20 foreach documentControl in ctx.documentControls
21 _ documentControl.initialize()
22 set ctx.modalManager = new ModalManager()
23 _ ctx.modalManager.setup()
24 _ setupClickHandler(ctx)
25 function setup
26 param node
27 param ctx
28 if node.nodeType != 1
29 return
30 if wzui.hasClass(node, 'wz-ui-tabs')
31 var tabControl = new wzuiTabControl(node)
32 _ ctx.tabControls.push(tabControl)
33 set ctx.currentTabControl = tabControl
34 elif wzui.hasClass(node, 'wz-ui-tab')
35 _ ctx.currentTabControl.addTab(node)
36 elif wzui.hasClass(node, 'wz-ui-tv-documents')
37 var documentControl = new wzuiTvDocumentsControl(node)
38 var active_document_title_id = node.getAttribute('data-active-document-title-id')
39 log 'active_document_title_id', active_document_title_id
40 _ documentControl.setActiveDocumentTitleElement(active_document_title_id)
41 _ ctx.documentControls.push(documentControl)
42 set ctx.currentDocumentControl = documentControl
43 elif wzui.hasClass(node, 'wz-ui-tv-document')
44 _ ctx.currentDocumentControl.addDocument(node)
45 if wzui.hasClass(node, 'wz-ui-tv-document-selected')
46 _ ctx.currentDocumentControl.setDefaultDocument(node)
47 foreach child in node.childNodes
48 _ setup(child, ctx)

/src/ittf/jobs/ittf__copy/site/site.wfjob.ittf

    
1 wfjob documentation
2 $
3 var site_folder = path.join(__dirname, 'site');
4 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io";
5 line site
6 cwd-folder ${site_folder}
7 wfjob/any_js()
8 wfjob/any_css()
9 wfjob/any_plain_css()
10 wfjob/any_plain_svg()
11 wfjob/any_plain_jpg()
12 production
13 dest-folder ${dest_folder}
14 line-ref site

/src/ittf/jobs/ittf__copy/t/html/t/nav_child_compile.html.ittf

    
1 $group
2 $params name, href, title|@@null
3 $
4 var xtitle = title == 'null' ? name : title;
5 $if gcurrentSubPage == name
6 a ${xtitle}
7 class navigation__child navigation__child--active
8 title ${href} ittf source code
9 href ${href}.html
10 $else
11 a ${xtitle}
12 class navigation__child
13 title ${href} ittf source code
14 href ${href}.html

/src/ittf/jobs/ittf__copy/t/html/t/nav_child.html.ittf

    
1 $group
2 $params name, href, title|@@null
3 $
4 var xtitle = title == null ? name : title;
5 $if gcurrentSubPage == name
6 a ${xtitle}
7 class navigation__child navigation__child--active
8 title ${href} ittf source code
9 href ${href}.html
10 $else
11 a ${xtitle}
12 class navigation__child
13 title ${href} ittf source code
14 href ${href}.html

/src/ittf/jobs/ittf__copy/t/html/t/nav_link_compile.html.ittf

    
1 $group
2 $params name, href, title, titleShort|@@null
3 $
4 title = title == null ? name : title;
5 var xtitle = titleShort == 'null' ? title : titleShort;
6 $if gcurrentPage == name
7 a ${title}
8 title ${gcurrentPage} ${name}
9 href ${href}.html
10 class navigation__link navigation__link--active
11 $else
12 a ${xtitle}
13 title ${gcurrentPage} ${name}
14 href ${href}.html
15 class navigation__link

/src/ittf/jobs/ittf__copy/t/html/t/nav_link.html.ittf

    
1 $group
2 $params name, href, title, titleShort|@@null
3 $
4 title = title == null ? name : title;
5 var xtitle = titleShort == null ? title : titleShort;
6 $if gcurrentPage == name
7 a ${title}
8 title ${gcurrentPage} ${name}
9 href ${href}.html
10 class navigation__link navigation__link--active
11 $else
12 a ${xtitle}
13 title ${gcurrentPage} ${name}
14 href ${href}.html
15 class navigation__link

/src/ittf/jobs/ittf__copy/t/html/layout_compile.html.ittf

    
1 $group
2 $global
3 var gcurrentPage = currentPage;
4 var gcurrentSubPage = currentSubPage;
5 head
6 @title The Wizzi Factory
7 css https://fonts.googleapis.com/css?family=Roboto
8 $if currentSubPage == null
9 css sanitize.css
10 css wizzifactory.css
11 $else
12 css ../sanitize.css
13 css ../wizzifactory.css
14 $hook styles
15 body
16 $if currentSubPage == null
17 class ${currentPage}
18 $else
19 class ${currentPage}-${currentSubPage}
20 . site
21 navigation( isCompile )
22 main
23 id wrapper
24 $hook
25 $if currentSubPage == null
26 js jquery-3.2.1.js
27 js wizzifactory.js
28 $else
29 js ../jquery-3.2.1.js
30 js ../wizzifactory.js

/src/ittf/jobs/ittf__copy/t/html/layout.html.ittf

    
1 html
2 $params currentPage, currentSubPage|@@null
3 $global
4 var gcurrentPage = currentPage;
5 var gcurrentSubPage = currentSubPage;
6 head
7 @title The Wizzi Factory
8 css https://fonts.googleapis.com/css?family=Roboto
9 $if currentSubPage == null
10 css sanitize.css
11 css wizzifactory.css
12 $else
13 css ../sanitize.css
14 css ../wizzifactory.css
15 $hook styles
16 body
17 $if currentSubPage == null
18 class ${currentPage}
19 $else
20 class ${currentPage}-${currentSubPage}
21 . site
22 navigation( none )
23 main
24 id wrapper
25 $hook
26 js jquery-3.2.1.js
27 $if currentSubPage == null
28 js wizzifactory.js
29 $else
30 js ../wizzifactory.js

/src/ittf/jobs/ittf__copy/t/html/logo.html.ittf

    
1 $group
2 . logo
3 span W
4 class logo-w
5 span i
6 class logo-i1
7 span z
8 class logo-z1
9 span z
10 class logo-z2
11 span i
12 class logo-i2
13 span  
14 span f
15 class logo-f
16 span a
17 class logo-a
18 span c
19 class logo-c
20 span t
21 class logo-t
22 span o
23 class logo-o
24 span r
25 class logo-r
26 span y
27 class logo-y

/src/ittf/jobs/ittf__copy/t/html/nav_sidebar.html.ittf

    
1 $group
2 nav
3 class main-sidebar-left
4 $if gcurrentSubPage == null
5 style max-height: 648px; position: fixed; top: 60px; width: 380px;
6 $else
7 style max-height: 648px; position: fixed; top: 90px; width: 380px;
8 img
9 $if gcurrentSubPage == null
10 src workinprogress.jpg
11 $else
12 src ../workinprogress.jpg
13 $hook

/src/ittf/jobs/ittf__copy/t/html/navigation.html.ittf

    
1 $group
2 $params kind
3 $*
4 https://github.com/algolia/autocomplete.js/
5 classes
6 navigation
7 navigation__logo
8 logo
9 navigation__links
10 navigation__link [--active]
11 algolia-autocomplete
12 navigation__search-input
13 ds-input
14 ds-dropdown-menu
15 icon-magnifying-glass
16 icon-cross
17 navigation__icon
18 sidecar__icon
19 icon-github
20 icon-stack-overflow
21 dropdown__language
22 dropdown__arrow
23 *$
24 header
25 class navigation
26 . container navigation__inner
27 $include ./logo
28 nav
29 class navigation__links
30 $if gcurrentSubPage == null
31 $if kind === 'isCompile'
32 nav_link_compile( concepts, concepts, Concepts )
33 nav_link_compile( docs, docs/intro, Docs, Docs )
34 nav_link_compile( api, api, Api )
35 nav_link_compile( code, code/intro, Code )
36 nav_link_compile( starters, starters, Starters )
37 nav_link_compile( project, project, Project )
38 $else
39 nav_link( concepts, concepts, Concepts )
40 nav_link( docs, docs/intro, Docs, Docs )
41 nav_link( api, api, Api )
42 nav_link( code, code/intro, Code )
43 nav_link( starters, starters, Starters )
44 nav_link( project, project, Project )
45 $else
46 $if kind === 'isCompile'
47 nav_link_compile( concepts, ../concepts, Concepts )
48 nav_link_compile( docs, ../docs/intro, Docs, Docs )
49 nav_link_compile( api, ../api, Api )
50 nav_link_compile( code, ../code/intro, Code )
51 nav_link_compile( starters, ../starters, Starters )
52 nav_link_compile( project, ../project, Project )
53 $else
54 nav_link( concepts, ../concepts, Concepts )
55 nav_link( docs, ../docs/intro, Docs, Docs )
56 nav_link( api, ../api, Api )
57 nav_link( code, ../code/intro, Code )
58 nav_link( starters, ../starters, Starters )
59 nav_link( project, ../project, Project )
60 . navigation__search
61 span
62 class algolia-autocomplete
63 style position: relative; display: inline-block; direction: ltr;
64 input
65 type text
66 class navigation__search-input ds-input
67 placeholder Search documentation…
68 autocomplete off
69 spellcheck false
70 role combobox
71 aria-autocomplete list
72 aria-expanded false
73 aria-owns algolia-autocomplete-listbox-0
74 dir auto
75 style position: relative; vertical-align: top;
76 pre
77 aria-hidden true
78 style position: absolute; visibility: hidden; white-space: pre; font-family: Arial; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; word-spacing: 0px; letter-spacing: normal; text-indent: 7px; text-rendering: auto; text-transform: none;
79 span
80 class ds-dropdown-menu
81 role listbox
82 id algolia-autocomplete-listbox-0
83 style position: absolute; top: 100%; z-index: 100; display: none; left: 0px; right: auto;
84 . ds-dataset-1
85 button
86 $$ class navigation__search-icon icon-magnifying-glass
87 class navigation__search-icon icon-search
88 button
89 class navigation__search-icon icon-cross
90 a
91 href https://github.com/wizzifactory
92 target _blank
93 class navigation__icon
94 title GitHub Repository
95 i
96 class sidecar__icon icon-github
97 a
98 href https://stackoverflow.com/questions/tagged/wizzifactory
99 target _blank
100 class navigation__icon
101 title See Questions on Stack Overflow
102 i
103 class sidecar__icon icon-stackoverflow
104 a
105 href #
106 target _blank
107 class navigation__icon
108 title Follow on twitter
109 i
110 class sidecar__icon icon-twitter
111 a
112 href #
113 target _blank
114 class navigation__icon
115 title Follow on facebook
116 i
117 class sidecar__icon icon-facebook
118 $*
119 . dropdown navigation__languages
120 tabindex 0
121 img
122 class dropdown__language
123 alt select language
124 src /ffb234d54a64f189d1e4f4d643cb8bb6.svg
125 i
126 class dropdown__arrow
127 . dropdown__list
128 ul
129 li
130 a
131 href #
132 span English
133 li
134 a
135 href #
136 span Italian
137 *$
138 $if gcurrentPage == 'code'
139 . navigation__bottom
140 . container navigation__inner
141 nav_child_compile( intro, intro )
142 nav_child_compile( wizzi, wizzi )
143 nav_child_compile( wizzi-mtree, wizzi-mtree, mtree )
144 nav_child_compile( wizzi-repo, wizzi-repo, repo )
145 nav_child_compile( wizzi-utils, wizzi-utils, utils )
146 nav_child_compile( wizzi-core, wizzi-core, core )
147 nav_child_compile( wizzi-meta, wizzi-meta, meta )
148 nav_child_compile( wizzi-docs, wizzi-docs, docs )
149 nav_child_compile( wizzi-documentation, wizzi-documentation, docu )
150 nav_child_compile( wizzi-demo, wizzi-demo, demo )
151 $if gcurrentPage == 'docs'
152 . navigation__bottom
153 . container navigation__inner
154 nav_child( intro, intro )
155 nav_child( ittf, ittf )
156 nav_child( jswizzi, jswizzi )
157 nav_child( models, models )
158 nav_child( artifacts, artifacts )
159 nav_child( jobs, jobs )
160 nav_child( plugins, plugins )
161 nav_child( wfschema, wfschema )
162 nav_child( wfjob, wfjob )
163 nav_child( wfpackage, wfpackage )

/src/ittf/jobs/ittf__copy/t/wfjob/any_css.wfjob.ittf

    
1 $group
2 artifact any_css
3 src ./**/*.css.ittf
4 schema css
5 generator css/document
6 extension css

/src/ittf/jobs/ittf__copy/t/wfjob/any_gitignore.wfjob.ittf

    
1 $group
2 artifact any_gitignore
3 src ./**/.gitignore

/src/ittf/jobs/ittf__copy/t/wfjob/any_html.wfjob.ittf

    
1 $group
2 artifact any_html
3 src ./**/*.html.ittf
4 schema html
5 generator html/document
6 extension html

/src/ittf/jobs/ittf__copy/t/wfjob/any_js.wfjob.ittf

    
1 $group
2 artifact any_js
3 src ./**/*.js.ittf
4 schema js
5 generator js/module
6 extension js
7 $hook

/src/ittf/jobs/ittf__copy/t/wfjob/any_json.wfjob.ittf

    
1 $group
2 artifact any_json
3 src ./**/*.json.ittf
4 schema ittf
5 generator json/document
6 extension json

/src/ittf/jobs/ittf__copy/t/wfjob/any_jsx.wfjob.ittf

    
1 $group
2 artifact any_jsx
3 src ./**/*.jsx.ittf
4 schema js
5 generator js/module
6 extension jsx

/src/ittf/jobs/ittf__copy/t/wfjob/any_less.wfjob.ittf

    
1 $group
2 artifact any_less
3 src ./**/*.less
4 extension less

/src/ittf/jobs/ittf__copy/t/wfjob/any_md.wfjob.ittf

    
1 $group
2 artifact any_md
3 src ./**/*.md.ittf
4 schema md
5 generator md/document
6 extension md
7 $hook

/src/ittf/jobs/ittf__copy/t/wfjob/any_plain_css.wfjob.ittf

    
1 $group
2 artifact any_plain_css
3 src ./**/*.css
4 extension css

/src/ittf/jobs/ittf__copy/t/wfjob/any_plain_jpg.wfjob.ittf

    
1 $group
2 artifact any_plain_jpg
3 src ./**/*.jpg
4 extension jpg

/src/ittf/jobs/ittf__copy/t/wfjob/any_plain_js.wfjob.ittf

    
1 $group
2 artifact any_plain_js
3 src ./**/*.js
4 extension js

/src/ittf/jobs/ittf__copy/t/wfjob/any_plain_svg.wfjob.ittf

    
1 $group
2 artifact any_plain_svg
3 src ./**/*.svg
4 extension svg

/src/ittf/jobs/ittf__copy/t/wfjob/any_plain.wfjob.ittf

    
1 $group
2 artifact any_plain
3 src ./**/*.*

/src/ittf/jobs/ittf__copy/t/wfjob/any_tests_ittf.wfjob.ittf

    
1 $group
2 artifact any_tests_ittf
3 src ./**/*.tests.ittf
4 extension ittf

/src/ittf/jobs/ittf__copy/t/wfjob/any_wfjob_ittf.wfjob.ittf

    
1 $group
2 artifact any_tests_ittf
3 src ./**/*.wfjob.ittf
4 extension ittf

/src/ittf/jobs/ittf__copy/t/wfjob/any_wfjob.wfjob.ittf

    
1 $group
2 artifact any_wfjob
3 src ./**/*.wfjob.ittf
4 schema wfjob
5 is-wf-job true

/src/ittf/jobs/ittf__copy/t/wfjob/art-final.wfjob.ittf

    
1 artifact ${name}
2 $params name, destname|@@null
3 src ${name}
4 $if destname
5 dest-path ${destname}

/src/ittf/jobs/ittf__copy/t/wfjob/art-wo-css.wfjob.ittf

    
1 artifact ${name}
2 $params name, destname|@@null, models|@@null
3 src ${name}
4 $if destname
5 dest-path ${destname}
6 generator css/document
7 schema css
8 extension css
9 $ var ms = models ? models.trim().split(',') : []
10 $foreach m in ms
11 model-ref ${m}

/src/ittf/jobs/ittf__copy/t/wfjob/art-wo-html.wfjob.ittf

    
1 artifact ${name}
2 $params name, destname|@@null, models|@@null
3 src ${name}
4 $if destname
5 dest-path ${destname}
6 generator html/document
7 schema html
8 extension html
9 $ var ms = models ? models.trim().split(',') : []
10 $foreach m in ms
11 model-ref ${m}

/src/ittf/jobs/ittf__copy/t/wfjob/art-wo-js.wfjob.ittf

    
1 artifact ${name}
2 $params name, destname|@@null, models|@@null
3 src ${name}
4 $if destname
5 dest-path ${destname}
6 generator js/module
7 schema js
8 extension js
9 $ var ms = models ? models.trim().split(',') : []
10 $foreach m in ms
11 model-ref ${m}

/src/ittf/jobs/ittf__copy/t/wfjob/spa_babelrc.wfjob.ittf

    
1 $group
2 $params spaittfuri
3 artifact spa babelrc
4 src ${spaittfuri}
5 schema spa
6 generator spa/babelrc
7 dest-path .babelrc
8 extension babelrc

/src/ittf/jobs/ittf__copy/t/wfjob/spa_gulp.wfjob.ittf

    
1 $group
2 $params spaittfuri
3 artifact spa gulp
4 src ${spaittfuri}
5 schema spa
6 generator spa/gulp
7 dest-path gulpfile.js
8 extension js

/src/ittf/jobs/ittf__copy/t/wfjob/spa_package.wfjob.ittf

    
1 $group
2 $params spaittfuri
3 artifact spa package
4 src ${spaittfuri}
5 schema spa
6 generator spa/package
7 dest-path package.json
8 extension json

/src/ittf/jobs/ittf__copy/t/wfjob/spa_webpack.wfjob.ittf

    
1 $group
2 $params spaittfuri
3 artifact spa webpack
4 src ${spaittfuri}
5 schema spa
6 generator spa/webpack
7 dest-path webpack.config.js
8 extension js

/src/ittf/jobs/t/wfjob-execute.js.ittf

    
1 module
2 $params project, section
3 kind jsfile
4 +
5 var path = require('path')
6 var wizzi = require('wizzi');
7 #
8 # begin params
9 var $name = '${project} - ${section}'
10 #
11 # end params
12 _ wizzi.executeWizziJob
13 {
14 @ user 'stefi'
15 @ role 'admin'
16 @ storeKind 'filesystem'
17 @ config
18 {
19 @ wfBaseFolder 'c:\my\wizzi\v5\test'
20 @ plugins
21 [
22 @ 'wizzi-core'
23 @ 'wizzi-meta'
24 @ 'wizzi-js'
25 @ 'wizzi-html'
26 @ 'wizzi-docs'
27 @ job
28 {
29 @ name $name
30 @ ittfDocumentUri
31 _ path.join
32 @ __dirname
33 @ 'ittf'
34 @ '${project}'
35 @ '${section}.wfjob.ittf'
36 @ productionOptions
37 _ wizzi.productionOptions
38 {
39 @ indentSpaces 4
40 @ basedir __dirname
41 @ verbose 2
42 @ dumps
43 {
44 @ dumpsBaseFolder
45 _ path.join
46 @ __dirname
47 @ '_debug_dumps'
48 @ mTreeBuildupJsWizziCode
49 {
50 @ dump true
51 @ globalContext {}
52 function
53 param err
54 if err
55 log "Error executing wizzi instance job", err

/src/ittf/jobs/_old_site.js.ittf

    
1 module
2 kind jsfile
3 +
4 var path = require('path')
5 var wizzi = require('wizzi');
6 #
7 # begin params
8 var $name = 'site'
9 #
10 # end params
11 _ wizzi.executeWizziJob
12 {
13 @ user 'stefi'
14 @ role 'admin'
15 @ storeKind 'filesystem'
16 @ config
17 {
18 @ wfBaseFolder 'c:\my\wizzi\v5\test'
19 @ plugins
20 [
21 @ 'wizzi-js'
22 @ 'wizzi-html'
23 @ 'wizzi-docs'
24 @ job
25 {
26 @ name $name
27 @ ittfDocumentUri
28 _ path.join
29 @ __dirname
30 @ 'ittf'
31 @ 'wizzi-docs'
32 @ 'site.wfjob.ittf'
33 @ productionOptions
34 _ wizzi.productionOptions
35 {
36 @ indentSpaces 4
37 @ basedir __dirname
38 @ verbose 2
39 @ globalContext {}
40 function
41 param err
42 if err
43 log "Error executing wizzi instance job", err

/src/ittf/jobs/api_preprocess.js.ittf

    
1 wfjob-execute( api, api_preprocess )

/src/ittf/jobs/api.js.ittf

    
1 wfjob-execute( api, api )

/src/ittf/jobs/code_intro.js.ittf

    
1 wfjob-execute( docs, code_intro )

/src/ittf/jobs/code_preprocess.js.ittf

    
1 wfjob-execute( code, code_preprocess )

/src/ittf/jobs/code.js.ittf

    
1 wfjob-execute( code, code )

/src/ittf/jobs/concepts.js.ittf

    
1 wfjob-execute( docs, concepts )

/src/ittf/jobs/contribs.js.ittf

    
1 wfjob-execute( docs, contribs )

/src/ittf/jobs/docs.js.ittf

    
1 wfjob-execute( docs, docs )

/src/ittf/jobs/index.js.ittf

    
1 wfjob-execute( docs, index )

/src/ittf/jobs/labs.js.ittf

    
1 wfjob-execute( docs, labs )

/src/ittf/jobs/project.js.ittf

    
1 wfjob-execute( docs, project )

/src/ittf/jobs/schemas.js.ittf

    
1 wfjob-execute( docs, schemas )

/src/ittf/jobs/site.js.ittf

    
1 wfjob-execute( site, site )

/src/ittf/jobs/spa.js.ittf

    
1 wfjob-execute( docs, spa )

/src/ittf/jobs/specs.js.ittf

    
1 wfjob-execute( docs, specs )

/src/ittf/jobs/starters.js.ittf

    
1 wfjob-execute( docs, starters )

/src/ittf/meta/index.json.ittf

    
1 {
2 name 'wizzi-documentation'
3 version '0.4.1'
4 title 'Wizzi factory documentation'
5 license 'MIT'
6 [ schemas
7 name 'wizzi-documentation'
8 version '0.4.1'
9 title 'Wizzi factory documentation'
10 license 'MIT'
11 [ schemas

/src/ittf/models/api/t/wizzi-plugin/artifactGenerator.api.ittf

    
1 api wizzi-plugin.artifactGenerator
2 module
3 standard-path {wizzi-plugin}/lib/artifacts/{schema}/{artifact}/gen/main.js
4 {
5 m gen
6 # Executes the generation of an artifact.
7 { model
8 # Can be a wizzi model or a POJO object.
9 # Its the main context object of an artifact generation.
10 { ctx
11 { value
12 # This property of the `ctx` parameter can contain
13 # a (optional) secondary context object.
14 api-ref wizzi.artifact.genContext
15 cb()
16 { ctx
17 # Is returned the same wizzi.artifact.genContext instance received,
18 # enriched with the artifact text written in its in-memory buffer.
19 api-ref wizzi.artifact.genContext

/src/ittf/models/api/t/wizzi-plugin/modelFactory.api.ittf

    
1 api wizzi-plugin.modelFactory
2 # Implemented by wizzi model factories contained in plugins.
3 module
4 standard-path {wizzi-plugin}/lib/wizzi/models/{schema}-factory.g.js
5 iface
6 m loadModel
7 # Executes the loading of a wizzi model using the
8 # wizzi-mtree.loader.loadMTree passed to
9 # wizzi-plugin.createLoadModel(...).
10 # It is returned by wizzi-plugin.createLoadModel(...)
11 # and can be stored and reused.
12 string ittfDocumentUri
13 # The uri of the primary ittf document to be loaded.
14 { requestContext
15 { __productionManager
16 required
17 api-ref wizzi.production.productionManager
18 { __ittfDocumentStore
19 required
20 api-ref wizzi-repo.ittfDocumentStore
21 { mTreeBuildUpContext
22 # (Optional) wizzi-plugin.wizziModel or POJO
23 { __request
24 # This is a legacy that should disappear.
25 # See the wizzi.production.productionContext class
26 # for the new implementation of debug dumps.
27 boolean dumpAll
28 boolean dumpIttfModel
29 boolean dumpModel
30 boolean dumpModelAfterInitializeAsync
31 cb()
32 { wizziModel
33 api-ref wizzi-plugin.wizziModel
34 {
35 hof createLoadModel
36 { wizziObject
37 function loadMTree
38 api-ref wizzi-mtree.loader.loadMTree
39 { file
40 api-ref wizzi-utils.file
41 { verify
42 api-ref wizzi-utils.verify
43 { errors
44 { WizziModelLoadError
45 # object derived from Error object
46 { globalContext
47 # Will be iniected in the evaluation context of
48 # every loaded model.
49 return
50 function loadModel
51 api-ref wizzi-plugin.modelFactory.loadModel

/src/ittf/models/api/t/wizzi-plugin/modelTransformer.api.ittf

    
1 api wizzi-plugin.modelTransformer
2 module
3 standard-path {wizzi-plugin}/lib/artifacts/{schema}/{transformer}/trans/main.js
4 {
5 m trans
6 # Executes the transformation of a model.
7 { model
8 # Can be a wizzi model or a POJO object.
9 # Its the model to be transformed.
10 { ctx
11 { value
12 # This property of the `ctx` parameter can contain
13 # a (optional) context object of the trasformation.
14 api-ref wizzi.artifact.genContext
15 cb()
16 { transformedModel

/src/ittf/models/api/t/wizzi/artifact.api.ittf

    
1 $group
2 api wizzi.artifact.artifactInfoConfig
3 kernel
4 {
5 string name
6 # from wfjob.artifact.wzName
7 { options
8 { model
9 string cwd
10 # from wfjob.line.cwdFolder
11 string src
12 # from wfjob.artifact.src
13 string ignore
14 # form wfjob.artifact.ignore
15 string schema
16 # wfjob.artifact.schema
17 [ contexts
18 { context
19 [ transformers
20 # from wfjob.artifact.transformers
21 [ contexts
22 { context
23 boolean isWfJob
24 # from wfjob.artifact.isWfJob
25 { gen
26 string generator
27 # from wfjob.artifact.generator
28 { dest
29 string baseFolder
30 # from wfjobModel.destBaseFolder
31 string folder
32 # from wfjob.line.destFolder || wfjob.production.destFolder
33 string path
34 # from wfjob.artifact.destPath
35 string extension
36 # from wfjob.artifact.extension
37 api wizzi.artifact.persisteable
38 {
39 { artifactInfo
40 api-ref wizzi.artifact.artifactInfo
41 { genContext
42 api-ref wizzi.artifact.genContext
43 string filepath
44 api wizzi.artifact.artifactInfo
45 kernel
46 {
47 string name
48 { options
49 { modelInfo
50 api-ref wizzi.model.modelInfo
51 [ contextInfos
52 { contextInfo
53 api-ref wizzi.model.modelInfo
54 boolean isWfJob
55 [ transformers
56 { gen
57 { dest
58 { wfjob
59 [ genContexts
60 { genContext
61 api-ref wizzi.artifact.genContext
62 ctor
63 { artifactInfoConfig
64 api-ref wizzi.artifact.artifactInfoConfig
65 m initialize
66 { productionManager
67 api-ref wizzi.production.productionManager
68 m addGenContext
69 { genContext
70 api-ref wizzi.artifact.genContext
71 m isWizziFactoryJob
72 return
73 boolean isWizziFactoryJob
74 m isWizziModelArtifact
75 return
76 boolean isWizziModelArtifact
77 m isModelCollectionArtifact
78 return
79 boolean isModelCollectionArtifact
80 m isCodeWriteArtifact
81 return
82 boolean isCodeWriteArtifact
83 m isFinalArtifact
84 return
85 boolean isFinalArtifact
86 m getItemsToPersistToFile
87 cb()
88 { persisteable
89 api-ref wizzi.artifact.persisteable
90 api wizzi.artifact.genConfig
91 kernel
92 pojo
93 {
94 { options
95 { data
96 # Interpolation context values
97 integer indentSpaces
98 default 4
99 string CRLF
100 default \n
101 boolean isDebugLine
102 default false
103 # TODO
104 integer indent
105 default 0
106 # starting indentation
107 { model
108 api-ref wizzi.model.iface.modelCollectionConfig
109 # used for building the destination path of the generated artifact
110 { srcPath
111 # main model document source path
112 { pman
113 api-ref wizzi.production.programManager
114 api wizzi.artifact.genContext
115 kernel
116 class-instance
117 path wizzi/lib/artifact/genContext.js
118 {
119 { model
120 api-ref wizzi.model.modelCollectionConfig
121 # Used for building the destination path of the generated artifact
122 # when the artifact type is "Model collection artifact".
123 # Is null for any other artifact type.
124 string srcPath
125 # main source model relative path
126 # is null for artifacts of type "Code write artifact"
127 string srcFullPath
128 # main source model full path
129 # is null for artifacts of type "Code write artifact"
130 { options
131 # artifactInfo.options
132 { pman
133 api-ref wizzi.production.programManager
134 { wizziFactory
135 api-ref wizzi.wizziFactory
136 boolean isEmpty
137 ctor
138 { genconfig
139 api-ref wizzi.artifact.genConfig
140 m forceIndent
141 integer value
142 m indent
143 integer value
144 default 1
145 m deindent
146 integer value
147 default 1
148 m a
149 # add a key, value pair to the interpolation context
150 string name
151 string value
152 m g
153 string name
154 # get value from interpolation context
155 m r
156 # remove key from interpolation context
157 string name
158 m w
159 string text
160 # write a text with interpolation and line feed
161 m write
162 # write a text with interpolation without line feed
163 string text
164 m appendFile
165 # write a file as a chunk inserted between writes
166 string filePath
167 m writeFile
168 # Write a file, no other writes are allowed.
169 # Is for copying final artifacts with the same interface
170 # used for writing generated ones.
171 string filePath
172 m toStream
173 { stream
174 api-ref nodejs.fs.stream
175 m getContent
176 return
177 string content
178 m getContentInLine
179 # return the content with the carriage return
180 # replaced with the string '__1_2_3__'
181 m error
182 string message
183 { node
184 api-ref wizzi.wizziModel.node
185 m artifactGenerationError
186 string message
187 string location
188 { node
189 api-ref wizzi.wizziModel.node
190 m terminate
191 m hydrate
192 { block
193 [ lines
194 { (line)
195 string text
196 integer indentValue
197 { options
198 integer indentSpaces
199 default 4
200 string CRLF
201 default \n
202 m toStringFromJSON
203 { block
204 [ lines
205 { (line)
206 string text
207 integer indentValue
208 { options
209 integer indentSpaces
210 default 4
211 string CRLF
212 default \n
213 api wizzi.artifact.AsyncArtifactGenerator
214 kernel
215 module
216 {
217 m generate
218 { artifactInfo
219 api-ref wizzi.artifact.artifactInfo
220 { generator
221 api-ref wizzi-plugin.artifactGenerator
222 [ modelInfos
223 { modelInfo
224 api-ref wizzi.model.modelInfo
225 [ mainSourceModels
226 { mainSourceModel
227 # api-ref wizzi-plugin.wizziModel or POJO
228 cb()
229 { generationInfo
230 # The meat, the genContexts, are added to the artifactInfo instance.
231 string oper
232 # AsyncArtifactGenerator.generate
233 string status
234 # success
235 string item
236 # genContexts count
237 info
238 # modelInfos and contextModels are collections of the same length.
239 #
240 api-create wizzi.artifact.genContext
241 api-call wizzi.artifact.AsyncArtifactGenerator._gen_item
242 m generateModelCollection
243 { artifactInfo
244 api-ref wizzi.artifact.artifactInfo
245 { generator
246 api-ref wizzi-plugin.artifactGenerator
247 [ modelInfos
248 { modelInfo
249 api-ref wizzi.model.modelInfo
250 [ mainSourceModelsOfModelCollection
251 [ mainSourceModels
252 { mainSourceModel
253 cb()
254 { generationInfo
255 # The meat, the created genContexts, are added to the artifactInfo instance.
256 string oper
257 # AsyncArtifactGenerator.generateFromCollectionContexts
258 string status
259 # success
260 info
261 api-create wizzi.artifact.genContext
262 api-call wizzi.artifact.AsyncArtifactGenerator._gen_item
263 m generateCodeWrite
264 { artifactInfo
265 api-ref wizzi.artifact.artifactInfo
266 { generator
267 api-ref wizzi-plugin.artifactGenerator
268 [ contextModels
269 { contextModel
270 api-ref wizzi.model.modelInfo
271 cb()
272 { generationInfo
273 # The meat, the created genContext, is added to the artifactInfo instance.
274 string oper
275 # AsyncArtifactGenerator.generateCodeWrite
276 string status
277 # success
278 info
279 # contextModels are compacted in a single model object, where
280 # each contextModel is exposed using its exportName as property name.
281 api-create wizzi.artifact.genContext
282 m _gen_item
283 internal
284 { genInfo
285 { generator
286 api-ref wizzi.plugin.artifactGenerator
287 { modelContext
288 # wizzi model or POJO
289 { genContext
290 api-ref wizzi.artifact.genContext
291 cb()
292 { genContext
293 api-ref wizzi.artifact.genContext
294 # enriched with the in-memory generated artifact
295 info
296 api-call wizzi.plugin.artifactGenerator

/src/ittf/models/api/t/wizzi/model.api.ittf

    
1 $group
2 api wizzi.model.modelCollectionConfig
3 kernel
4 pojo
5 # See the element 'modelRef' of the schema 'wfjob' [#wfelement wfjob/modelRef].
6 {
7 string name
8 # property name of the collection in the model object
9 string itemName
10 [ pathTemplateValues
11 # An array mixed of literal tokens and tokens built
12 # from properties of a collection item that, once joined,
13 # build the destination path of a generated artifact.
14 alt value
15 { tokenOrAttribute
16 string token
17 string attribute
18 { function
19 function function
20 { collectionItem
21 api wizzi.model.modelInfoConfig
22 kernel
23 # See the element 'artifact' of the schema 'wfjob' [#wfelement wfjob/artifact].
24 pojo
25 {
26 string cwd
27 # source base folder
28 string src
29 # | source full path
30 # | source relative path
31 # | 'context' ???
32 # May contain a file pattern /*...
33 string ignore
34 # | ignore full path
35 # | ignore relative path
36 # May contain a file pattern /*...
37 string schema
38 [ contexts
39 { context
40 api-ref wizzi.model.modelInfoConfig
41 [ transformers
42 string transformerName
43 string exportName
44 { coll
45 # TODO rename to modelCollectionConfig
46 api-ref wizzi.model.modelCollectionConfig
47 api wizzi.model.modelCollectionInfo
48 kernel
49 pojo
50 api wizzi.model.modelInfo
51 kernel
52 class-instance
53 {
54 ctor
55 { config
56 merge modelInfoConfig
57 api-ref wizzi.model.modelInfoConfig
58 { modelRef
59 string exportName
60 m productionManager
61 # Get or set the production manager.
62 { productionManager
63 api-ref wizzi.production.productionManager
64 m hasContext
65 return
66 boolean hasContext
67 m getContextCollectionInfo
68 return
69 { collectionConfig
70 alt
71 { collectionConfig
72 api-ref wizzi.model.modelCollectionConfig
73 null
74 m getModelInfos
75 { options
76 cb()
77 m srcFullPath
78 return
79 string ignoreFullPath
80 m ignoreFullPath
81 return
82 string ignoreFullPath
83 m srcGlobPath
84 return
85 string srcGlobPath
86 m getFiles
87 { options
88 boolean final
89 # TODO explain
90 info
91 api-call wizzi-repo.fileSystem.getGlobbedFiles
92 api-send this.srcGlobPath
93 m getSource
94 cb()
95 string fileContent
96 $append error-types
97 error NotFoundError
98 error IsNotAFileError
99 info
100 api-call wizzi.file.read
101 api-send this.srcFullPath
102 m getSources
103 cb()
104 [ files
105 string fileContent
106 $append error-types
107 error NotFoundError
108 error IsNotADirectoryError
109 info
110 internal-call getFiles
111 m getLoadModel
112 # Returns the wizzi-plugin.modelFactory.loadModel for the
113 # wizzi schema of this modelInfo.
114 cb()
115 function loadModel
116 api-ref wizzi-plugin.modelFactory.loadModel
117 $append error-types
118 error NotFoundError
119 info
120 api-call wizzi.productionManager.instance.getLoadModel
121 api-send this.schema
122 m getModelTransformer
123 string trasformerName
124 cb()
125 { modelTransformer
126 api-ref wizzi-plugin.modelTransformer
127 $append error-types
128 error NotFoundError
129 info
130 api-call wizzi.productionManager.instance.getModelTransformer
131 api-send trasformerName
132 m getArtifactGenerator
133 string generatorName
134 cb()
135 { artifactGenerator
136 api-ref wizzi-plugin.artifactGenerator
137 $append error-types
138 error NotFoundError
139 info
140 api-call wizzi.productionManager.instance.getArtifactGenerator
141 api-send generatorName
142 api wizzi.model.asyncModelLoader
143 kernel
144 module
145 path wizzi/model/asyncModelLoader.js
146 {
147 m loadMany
148 [ modelInfos
149 { modelInfo
150 api-ref wizzi.model.modelInfo
151 cb()
152 m load
153 { modelInfo
154 api-ref wizzi.model.modelInfo
155 cb()
156 m _load_item
157 { masterModelInfo
158 api-ref wizzi.model.modelInfo
159 cb()
160 m load_collection
161 { collectionLoadData
162 { modelInfo
163 { context
164 { itemObject
165 cb()
166 { wizziModel
167 api-ref wizzi-plugin.wizziModel
168 m recurseTransform
169 internal
170 [ modelTransformers
171 string modelTransformer
172 integer index
173 { instance
174 { modelInfo
175 api-ref wizzi.model.modelInfo
176 cb()
177 { transformedModel

/src/ittf/models/api/t/wizzi/pluginsManager.api.ittf

    
1 $group
2 api wizzi.pluginsManagerModule
3 kernel
4 module
5 path wizzi/lib/services/pluginsManager.js
6 {
7 m createManager
8 { mtreeLoad
9 api-ref wizzi-mtree.loader.loadMTree
10 { options
11 [ items
12 string pluginName
13 string pluginsBaseFolder
14 default process.cwd()
15 cb()
16 { pluginsManagerInstance
17 api-ref wizzi.pluginsManager
18 info
19 api-create wizzi.pluginsManager
20 api-call wizzi.pluginsManager.initialize
21 api wizzi.pluginsManager
22 kernel
23 class-instance
24 path wizzi/lib/services/pluginsManager.js
25 {
26 m initialize
27 { options
28 [ items
29 string pluginName
30 string pluginsBaseFolder
31 default process.cwd()
32 cb()
33 api-ref wizzi.pluginsManager
34 info
35 api-call wizzi.pluginsManager.loadPlugins
36 api-call wizzi.pluginsManager.registerFactoryPlugin
37 m loadPlugins
38 { options
39 [ items
40 string pluginName
41 string pluginsBaseFolder
42 default process.cwd()
43 cb()
44 [ itemsOptions
45 {
46 string pluginName
47 string packagePath
48 merge plugin
49 api-ref wizzi-plugin
50 m registerFactoryPlugin
51 { pluginModule
52 api-ref wizzi-plugin
53 cb()
54 null
55 info
56 api-call wizzi-plugin.createFactoryPlugin
57 # Validates the created wizzi factory plugin.
58 # Add it to the plugins collection.
59 # Updates the collections of schemas, model transformers and artifact generators
60 # provided by this plugin manager.
61 m getModelFactory
62 string schemaName
63 return
64 { modelFactory
65 api-ref wizzi-plugin.modelFactory
66 m getModelTransformer
67 string transformerName
68 return
69 { modelTransformer
70 api-ref wizzi-plugin.modelTransformer
71 m getArtifactGenerator
72 string generationName
73 return
74 { artifactGenerator
75 api-ref wizzi-plugin.artifactGenerator
76 m getSchemaDefinition
77 string schemaName
78 return
79 json schemaDefinition

/src/ittf/models/api/t/wizzi/production.api.ittf

    
1 $group
2 api wizzi.production.state
3 kernel
4 pojo
5 iface
6 { models
7 { pman
8 api-ref wizzi.production.productionManager
9 { pcx
10 api-ref wizzi.production.productionContext
11 api wizzi.production.productionContext
12 kernel
13 class-instance
14 path wizzi/lib/production/productionContext.js
15 {
16 ctor
17 { dumps
18 # dumps to files of transient objects for debug purposes
19 string dumpsBaseFolder
20 { mTreeBuildUpScript
21 boolean dump
22 string dumpsBaseFolder
23 m setAclStat
24 { aclstat
25 m addIttfDocument
26 string uri
27 string content
28 m addMTreeBuildUpScript
29 string uri
30 string mTreeBuildUpScript
31 m addMixedMTree
32 string uri
33 { mixedMTree
34 m addEvaluatedMTree
35 string uri
36 { evaluatedMTree
37 m addMTree
38 string uri
39 { loadContext
40 m addWizziModel
41 string uri
42 { wizziModel
43 m addArtifact
44 string generatedArtifact
45 m raiseIttfEvaluationScriptError
46 string uri
47 info
48 api wizzi.production.productionManager
49 kernel
50 class-instance
51 path wizzi/lib/production/productionManager.js
52 {
53 { wizziFactory
54 api-ref wizzi.wizziFactory
55 { options
56 [ artifactInfos
57 { artifactInfo
58 [ wfJobArtifactInfos
59 [ wfJobConfigs
60 { productionContext
61 api-ref wizzi.production.productionContext
62 { ___state
63 api-ref wizzi.production.state
64 string productionName
65 { aclStatObject
66 { AclStat
67 string userId
68 string subscriptionType
69 { aclConfig
70 { statisticsConfig
71 { acl
72 { statistics
73 { globalContextObject
74 ctor
75 { wizziFactory
76 api-ref wizzi.wizziFactory
77 { options
78 boolean verbose
79 string basedir
80 boolean isDebug
81 string CRLF
82 integer indentSpaces
83 boolean dotgExtensionPrefix
84 { dumps
85 info
86 api-create wizzi.productionContext
87 api-create wizzi.production.state
88 m addArtifactInfo
89 # Add an artifact info config declared in an "artifact" element of a "wfjob" wizzi model.
90 # It may also be built programmatically and you can pass the instance.
91 alt artifactInfo
92 { artifactInfoConfig
93 { artifactInfoInstance
94 m addWfJobArtifactInfo
95 # Add a WfJob request declared in an "artifact" element of a "wfjob" wizzi model.
96 { wfJobArtifactInfoConfig
97 m addWfJob
98 { wfJobConfig
99 { options
100 info
101 merge wfJobConfig.options this.options
102 m getLoadModel
103 string schemaName
104 info
105 api-call wizzi.wizziFactory.getLoadModel
106 return
107 function loadModel
108 api-ref wizzi-plugin.modelFactory.loadModel
109 m getSchemaDefinition
110 string schemaName
111 return this.wizziFactory.getSchemaDefinition(schemaName)
112 m getModelTransformer
113 string transName
114 return
115 { modelTransformer
116 api-ref wizzi-plugin.modelTransformer
117 m getArtifactGenerator
118 string artifactName
119 return
120 { artifactGenerator
121 api-ref wizzi-plugin.artifactGenerator
122 m initialize
123 cb()
124 null
125 info
126 internal-call AsyncInitializeArtifactInfo.run
127 m run
128 cb()
129 { result
130 info
131 internal-call initialize
132 internal-call AsyncRunner.run (wfJobArtifactInfo)
133 internal-call AsyncRunner.run (artifactInfos)
134 m persistToFile
135 cb()
136 { result
137 info
138 internal-call AsyncPersisterToFile.run (artifactInfos)
139 m aclStat
140 # get/set
141 { aclStatObject
142 m globalContext
143 # get/set
144 { globalContextObject
145 m setStateModel
146 string key
147 { model
148 api wizzi.production.Runner
149 kernel
150 class-instance
151 {
152 ctor
153 { artifactInfo
154 api-ref wizzi.artifact.artifactInfo
155 m run
156 cb()
157 { enrichedArtifactInfo
158 # artifactInfo with genContext/s containing generated artifacts
159 api-ref wizzi.artifact.artifactInfo
160 m runWizziFactoryJob
161 internal
162 { modelInfo
163 api-ref wizzi.model.modelInfo
164 cb()
165 { enrichedArtifactInfo
166 # artifactInfo with genContext/s containing generated artifacts
167 api-ref wizzi.artifact.artifactInfo
168 m runWizziModelArtifact
169 internal
170 { modelInfo
171 api-ref wizzi.model.modelInfo
172 { gen
173 string generatorName
174 cb()
175 { enrichedArtifactInfo
176 # artifactInfo with genContext/s containing generated artifacts
177 api-ref wizzi.artifact.artifactInfo
178 info
179 api-call wizzi.model.modelInfo.getArtifactGenerator
180 api-call wizzi.model.asyncModelLoader.loadMany
181 api-call wizzi.artifact.asyncArtifactGenerator.generate
182 m runModelCollectionArtifact
183 { modelInfo
184 api-ref wizzi.model.modelInfo
185 { gen
186 string generatorName
187 cb()
188 { enrichedArtifactInfo
189 # artifactInfo with genContext/s containing generated artifacts
190 api-ref wizzi.artifact.artifactInfo
191 info
192 api-call wizzi.model.modelInfo.getArtifactGenerator
193 api-call wizzi.model.asyncModelLoader.loadMany
194 api-call wizzi.artifact.asyncArtifactGenerator.generateFromCollectionContexts
195 m runCodeWriteArtifact
196 [ contextInfos
197 { contextInfo
198 api-ref wizzi.model.modelInfo
199 { gen
200 string generatorName
201 cb()
202 { enrichedArtifactInfo
203 # artifactInfo with genContext/s containing generated artifacts
204 api-ref wizzi.artifact.artifactInfo
205 m runFinalArtifact
206 internal
207 { modelInfo
208 api-ref wizzi.model.modelInfo
209 cb()
210 { enrichedArtifactInfo
211 # artifactInfo with genContext/s containing generated artifacts
212 api-ref wizzi.artifact.artifactInfo

/src/ittf/models/api/t/wizzi/runnerServer.api.ittf

    
1 $group
2 api wizzi.runnerServerModule
3 kernel api
4 module
5 path wizzi/lib/services/runnerServer.js
6 {
7 { instance
8 api-ref wizzi.runnerServer
9 m init
10 string cwd
11 info
12 api-create wizzi.runnerServer
13 api wizzi.runnerServer
14 kernel
15 class-instance
16 path wizzi/lib/services/runnerServer.js
17 {
18 m registerPlugin
19 string pluginName
20 throw-if this.wizziFactory != null
21 # Cannot register a plugin if the wizzi factory has already been initialized.
22 # Must be called handling the onStart event
23 m registerGlobalContext
24 { context
25 throw-if this.wizziFactory != null
26 # Cannot register a global context if the wizzi factory has already been initialized.
27 # Must be called handling the onStart event
28 m initializeFactory
29 string userid
30 string role
31 string storeKind
32 default filesystem
33 cb()
34 { instance
35 api-ref wizzi.wizziFactory
36 info
37 api-call wizzi.createFactory
38 api-receive wizzi.wizziFactory
39 store-on-this
40 m loadModel
41 string schemaName
42 string ittfDocumentUri
43 { context
44 cb()
45 { wizziModel
46 api-ref wizzi.wizziModel
47 # Can be called from a jswizzi statement, in a ittf document, using the method:
48 # var result = $.model('schemaName', ittfDocumentUri, context);
49 m transformModel
50 string transformerName
51 { model
52 { context
53 cb()
54 { transformedModel
55 # Can be called from a jswizzi statement, in a ittf document, using the method:
56 # var result = $.transform('transformerName', model, context);
57 m registerApi
58 string apiName
59 function apiFunction
60 # Must be called handling the onPrepare event.
61 m callApi
62 string apiName
63 return
64 any result
65 # The result of calling: getApiFunction(apiName).apply(this, Array.prototype.slice.call(arguments, 1))
66 # Can be called from a jswizzi statement, in a ittf document, using the method:
67 # var result = $.api('apiName', ...args);

/src/ittf/models/api/t/wizzi/wizziFactory.api.ittf

    
1 $group
2 api wizzi.wizziFactoryModule
3 kernel
4 module
5 path wizzi/lib/services/wizziFactory.js
6 {
7 m createFactory
8 string userid
9 string role
10 { options
11 api-ref wizzi.wizziFactory.createOptions
12 cb()
13 api-ref wizzi.wizziFactory
14 api wizzi.wizziFactory
15 kernel
16 class-instance
17 path wizzi/lib/services/wizziFactory.js
18 iface
19 { createOptions
20 { repo
21 string storeKind
22 restrict
23 enum mongodb
24 enum filesystem
25 enum localstorage
26 default filesystem
27 string storeUri
28 # when storeKind == 'mongodb'
29 string storeBaseFolder
30 # when storeKind == 'mongodb'
31 { plugins
32 [ items
33 string name
34 string pluginsBaseFolder
35 { globalContext
36 { test
37 string testOnlyMockBaseDir
38 { dumps
39 string dumpsBaseFolder
40 { mTreeBuildupJsWizziScript
41 boolean dump
42 {
43 m initialize
44 internal
45 { options
46 api-ref wizzi.wizziFactory.createOptions
47 cb()
48 { wizziFactory
49 api-ref wizzi.wizziFactory
50 info
51 api-call wizzi-repo.createStoreFactory
52 api-call wizzi-mtree.createLoadMTree
53 api-receive wizzi.mtree.loadMTree
54 store-on-this
55 api-call wizzi.pluginsManager.createManager
56 api-receive wizzi.pluginsManager.instance
57 store-on-this
58 m loadMTree
59 string ittfDocumentUri
60 { mTreeBuildUpContext
61 cb()
62 { mTree
63 api-ref wizzi.mTree.instance
64 info
65 internal-call createRequestContext
66 send templateEvalContext
67 receive
68 { requestContext
69 { templateEvalContext
70 POJO
71 { __productionManager
72 api-ref wizzi.production.productionManager
73 api-call wizzi-mtree.loadMTree
74 # This interface is stored in this.object
75 # at initialize time.
76 # See wizzi.wizziFactory.initialize
77 m getLoadModel
78 #
79 # Retrieve a modelLoad function by the model schema name
80 # Model factories are searched in the PluginsManager
81 # They are cached
82 string schemaName
83 return
84 function loadModel
85 api-ref wizzi-plugin.modelFactory.loadModel
86 info
87 api-call wizzi.pluginsManager.getModelFactory
88 api-receive wizzi-plugin.modelFactory
89 api-call wizzi-plugin.modelFactory.createLoadModel
90 api-send wizzi.mtree.loadMTree
91 api-receive wizzi-plugin.modelFactory.loadModel
92 m loadModel
93 string schemaName
94 # Allow the loading of documents which schema cannot
95 # be detected from the ittfDocumentUri parameter.
96 string ittfDocumentUri
97 required
98 { requestContext
99 { mTreeBuildUpContext
100 # A context object to be used in the `evaluation` step
101 # of the mTree loading.
102 { globalContext
103 # Being the loadModel function called once this usually is not used.
104 # Its properties are added to the `mTreeBuildUpContext` parameter object.
105 { formatOptions
106 boolean ittfSources
107 # if true returns not the model but its ittf source documents.
108 callback
109 m transformModel
110 string transformerName
111 { model
112 { genContext
113 cb()
114 { transformedModel
115 info
116 api-call wizzi.pluginsManagerInstance.getModelTransformer
117 api-receive wizzi-plugin.modelTransformer
118 api-call wizzi-plugin.modelTransformer.trans
119 m generateArtifact
120 { artifactModel
121 # A wizzi model or POJO.
122 string ittfDocumentUri
123 # for documentation and error messages
124 string artifactName
125 # The name of the artifact to be generated composed by
126 # `schemaName`/`artifactName`.
127 { artifactRequestContext
128 # An optional context object for the generation.
129 cb()
130 string artifactTextContent
131 info
132 api-call wizzi.pluginsManager.getArtifactGenerator
133 api-receive wizzi-plugin.artifactGenerator
134 api-create wizzi.artifact.genContext
135 api-call wizzi-plugin.artifactGenerator.gen
136 m loadModelAndGenerateArtifact
137 string ittfDocumentUri
138 required
139 { requestContext
140 required
141 { modelRequestContext
142 { artifactRequestContext
143 string artifactName
144 callback
145 m generateModelTypes
146 #
147 # From an ittf document of schema "wfschema"
148 # async generates:
149 # - a wizzi model
150 # - a wizzi model factory
151 # - a wizzi model test module
152 # - a wizzi model json documentation
153 # - a wizzi model html documentation
154 string wfschemaIttfDocumentUri
155 string outputPackagePath
156 string wfschemaName
157 { evaluationContext
158 cb()
159 null

/src/ittf/models/api/t/cb.api.ittf

    
1 callback
2 alt error
3 null
4 exception
5 $hook error-types
6 switch result
7 on error == null
8 $hook
9 on error == exception
10 null

/src/ittf/models/api/t/ittfDocumentStore.api.ittf

    
1 api wizzi-repo.ittfDocumentStore
2 # Kernel api
3 module
4 path wizzi-repo/lib/repo/ittfDocumentStore.js
5 {
6 # TODO explain everything IMPORTANT !!!
7 m parseUri
8 string ittfDocumentUri
9 cb()
10 $append error-types
11 error InvalidRequest
12 { parsedUri
13 string storeKind
14 restrict
15 enum filesystem
16 enum mongodb
17 enum localstorage
18 boolean isIttfDocument
19 string schema
20 switch userId
21 on storeKind is filesystem
22 string userId
23 # parsedUri.host
24 on storeKind is mongodb
25 string userId
26 # uri-parts[0]
27 switch projectId
28 on storeKind is filesystem
29 string projectId
30 # uri-parts[0]
31 on storeKind is mongodb
32 string projectId
33 # uri-parts[1]
34 switch uri
35 switch path
36 on storeKind is filesystem
37 string path
38 # uri-parts.join('/')
39 on storeKind is mongodb
40 string path
41 # uri-parts.join('/')
42 m init
43 { ittfDocumentInfo
44 string storeKind
45 restrict
46 enum filesystem
47 enum mongodb
48 enum localstorage
49 cb()
50 $append error-types
51 error InvalidRequest
52 null
53 m initSync
54 throw-if storeKind !== 'filesystem'
55 { ittfDocumentInfo
56 string storeKind
57 restrict
58 enum filesystem
59 return void
60 m documentExists
61 # Checks the existence of an ittf document in the repository.
62 string documentUri
63 cb()
64 $append error-types
65 error InvalidRequest
66 boolean documentExists
67 m folderExistsSync
68 throw-if storeKind !== 'filesystem'
69 string folderUri
70 return
71 boolean folderExists
72 m getFoldersSync
73 throw-if storeKind !== 'filesystem'
74 string parentFolderUri
75 { options
76 return
77 { this.storeImpl.getFoldersSync(parentFolderUri, options)
78 m getModelContent
79 # Retrieves an ittf document from the repository.
80 string ittfDocumentUri
81 cb()
82 $append error-types
83 error InvalidRequest
84 error IttfNotFound
85 string documentContent

/src/ittf/models/api/t/wizzi-app.api.ittf

    
1 $group
2 api wizzi-app
3 # This API should be implemented by applications that
4 # need a synchronous access to wizzi factory services.
5 # The jswizzi code inside an ittf document is executed
6 # synchronously, instead model loading always is asynchronous.
7 # So if an application uses ittf documents,
8 # that need to load context models in the jswizzi code,
9 # those models must be preloaded at start time in an asynchronous way,
10 # implementing the wizzi-app.wizzifile interface.
11 # TODO currently preloaded models cannot have a dynamic context,
12 # and after the loading at start time they are static models.
13 # The advent of compiled ittf documnt templates, that
14 # already has started in wizzi factory v4 (pre-release), should
15 # allow dynamic contexts.
16 api wizzi-app.wizzifile
17 module
18 standard-path {wizzi-app}/wizzifile.js
19 # The methods of this API must be implemented by applications.
20 # An application must pass the path to the wizzifile.js file to
21 # the wizzi.runnerServer, at application start up, calling the method
22 # wizzi.startRunnerServer.
23 # The wizzi.runnerServer is a singleton object; calling twice the start
24 # method throws an error.
25 {
26 m onConfig
27 # This handler is invoked before the runner server
28 # verifies its configuration parameters. Can be used to
29 # add or modify configuration values.
30 { wizziConfig
31 api-ref wizzi.config
32 # The wizzi.config object can be modified.
33 cb()
34 null
35 m onStart
36 # This handler is invoked when the runner server
37 # is ready to configure wizzi factories, registering plugins.
38 # Calling the wizzi.runnerServer.registerPlugin(factoryName, pluginName) imply
39 # the creation of a factory of name `factoryName`.
40 { runnerServer
41 api-ref wizzi.runnerServer
42 { wizziConfig
43 api-ref wizzi.config
44 # The wizzi.config object is read-only.
45 cb()
46 null
47 info
48 api-call wizzi.runnerServer.registerFactory
49 m onPrepare
50 # This handler is invoked when the wizzi factory `factoryName` is
51 # initialized and ready for operations.
52 # The `runnerServer` instance can be called to register functions and
53 # pre-load and transform models.
54 string factoryName
55 { runnerServer
56 api-ref wizzi.runnerServer
57 { wizziConfig
58 api-ref wizzi.config
59 # The wizzi.config object is read-only.
60 cb()
61 null

/src/ittf/models/api/t/wizzi-mtree.api.ittf

    
1 $group
2 api wizzi-mtree
3 kernel
4 module
5 path wizzi-mtree/index.js
6 iface
7 { requestContext
8 { mTreeBuildUpContext
9 { __productionManager
10 api-ref wizzi.production.productionManager
11 required
12 { options
13 m loadMTree
14 string ittfDocumentUri
15 { requestContext
16 api-ref wizzi-mtree.requestContext
17 cb()
18 { mTree
19 api-ref wizzi-mtree.loader.mTree
20 info
21 closure createStore
22 api-ref wizzi-repo.createStore
23 set requestContext.__ittfDocumentStore
24 api-call wizzi-mtree.loader.loadMTree
25 {
26 hof createLoadMTree
27 called-by wizzi.wizziFactory.initialize
28 function createStore
29 api-ref wizzi-repo.createStore
30 { options
31 boolean useCache
32 # TODO a cache strategy is not implemented yet
33 default false
34 boolean raw
35 # get the raw ittf nodes for documentation purposes
36 default false
37 return
38 function loadMTree
39 api-ref wizzi-mtree.loadMTree
40 api wizzi-mtree.loader
41 kernel
42 module
43 path wizzi-mtree/lib/loader/index.js
44 iface
45 { requestContext
46 { mTreeBuildUpContext
47 { __productionManager
48 api-ref wizzi.productionManager
49 required
50 { __ittfDocumentStore
51 required
52 {
53 m loadMTree
54 # The big job of loading an ittf source document
55 # resolving includes, mixups, append-hooks, template commands and expression evaluations.
56 string primaryIttfDocumentUri
57 { requestContext
58 api-ref wizzi-mtree.loader.requestContext
59 cb()
60 { mTree
61 api-ref wizzi-mtree.loader.mTree
62 info
63 # TODO lots of internal calls
64 # for technical documentation, not for pubblic api
65 api wizzi-mtree.loader.line
66 kernel
67 class-instance
68 {
69 integer indent
70 # The number of indentations of the first char in this line.
71 # ??? TODO The number of spaces for one indentation are significant ???
72 string name
73 # The first sequence of chars in a line until the first white-space.
74 # This will become the ittf node name
75 string value
76 # The trimmed sequence of chars and white-spaces
77 # after the name and until end of line.
78 integer row
79 # The row number of the line in the ittf source document.
80 integer col
81 # The col number of the first char of the name.
82 string sourceKey
83 # The key to the source info of the ittf document.
84 # See the sourceKey property in the wizzi-mtree.loader.mTreeBrick.
85 string tagSuffix
86 restrict
87 enum none
88 enum (
89 boolean hasMacro
90 # Has espressions to be evaluated.
91 api wizzi-mtree.loader.node
92 kernel
93 class-instance
94 path wizzi-mtree/lib/loader/nodifier.js
95 {
96 merge line
97 api-ref wizzi-mtree.loader.line
98 integer id
99 # The unique id of the node in a cloned mTreeBrick
100 # See api-ref wizzi-mtree.loader.mTreeBrick
101 integer parsedId
102 # The id of the node in the original mTreeBrick
103 # See api-ref wizzi-mtree.loader.mTreeBrick
104 { parent
105 # The parent node or undefined for the root
106 { model
107 # The mTreeBrick to which the node belongs
108 [ childs
109 # The children mTree nodes
110 { node
111 api-ref wizzi-mtree.loader.node
112 api wizzi-mtree.loader.mTreeBrick
113 kernel
114 class-instance
115 path wizzi-mtree/lib/loader/mTree.js
116 # This object always is a cloned object
117 # of an original mTree loaded from an ittf source document.
118 # The same ittf source document may be mixed in many
119 # branches of the builded mTree.
120 # The wizzi-mtree.loader.loadContext keeps track
121 # of original mTrees, indexed by a 'sourceKey', and
122 # cloned mTrees, indexed by a 'modelKey'.
123 {
124 string uri
125 # The location of the source ittf document.
126 string schema
127 # The source ittf document schema.
128 { loadContext
129 api-ref wizzi-mtree.loader.loadContext
130 [ lines
131 { line
132 api-ref : wizzi-mtree.loader.line
133 [ nodes
134 { node
135 api-ref : wizzi-mtree.loader.node
136 string sourceKey
137 # The key to the source info of the ittf document
138 # stored in wizzi-mtree.loader.loadContext.
139 string modelKey
140 # The unique model key of this mTree
141 # stored in wizzi-mtree.loader.loadContext.
142 # Many mTrees may have the same source key
143 # when the same source ittf document is mixed in various tree branches.
144 boolean mixed
145 # True if this mTree has been mixed
146 string $mixerModelKey
147 # The modelKey of the command node that invoked the mix up.
148 string $args
149 # The node value of the command node that invoked the mix up.
150 # A comma separated list of arguments.
151 string $argArray
152 # The arg array ??? of the command node that invoked the mix up.
153 string $params
154 # The node value of the $params command node of the
155 # source ittf document, if declared.
156 # A comma separated list of parameters in the form
157 # name[:type][|defaultValue]
158 # Set by the nodifier on the original mTree, then cloned.
159 m load
160 m setKeys
161 m clone
162 m getParamValues
163 m toIttf
164 m dump
165 api wizzi-mtree.jsWizziContext
166 kernel
167 # It is used internally for managing the execution environment.
168 # Evaluation context objects are pre-loaded loaded in this object with a global scope.
169 # Variables created by jswizzi code at runtime have a wizzi-mtree.loader.mTreeBrick scope.
170 # The nodes of the mTree that is builtup have a node scope.
171 api wizzi-mtree.jsWizziRunner
172 kernel
173 # The jswizzi executor engine.
174 module
175 path wizzi-mtree/lib/jswizzi/jsWizziRunner.js
176 {
177 m run
178 # If a callback is passed then the method is async.
179 string code
180 # A block of jswizzi code.
181 { jsWizziContext
182 api-ref wizzi-mtree.jsWizziContext
183 { options
184 boolean verbose
185 # prints every processed ast node
186 function dumpfile
187 # The stringified ast parsed by esprima is passed
188 # to this function for debug purposes.
189 cb()
190 any result

/src/ittf/models/api/t/wizzi-plugin.api.ittf

    
1 $group
2 api wizzi-plugin
3 # This API must be implemented by any wizzi plugin.
4 module
5 standard-path {wizzi-plugin}/index.js
6 {
7 m createFactoryPlugin
8 called-by wizzi.pluginsManager
9 # Is the entry point of a plugin implementation.
10 { wizziObject
11 api-ref wizzi
12 { options
13 cb()
14 { factoryPlugin
15 api-ref wizzi-plugin.factoryPlugin
16 m getProvides
17 # TODO modify the api source: replace the object provides with the method getProvides
18 return
19 {
20 [ schemas
21 string name
22 [ modelTransformers
23 string name
24 [ artifactGenerators
25 string name
26 api wizzi-plugin.factoryPlugin
27 # Implemented by any wizzi plugin
28 class-instance
29 {
30 m initialize
31 { wizziPackage
32 api-ref wizzi
33 { provides
34 [ schemas
35 string name
36 [ modelTransformers
37 string name
38 [ artifactGenerators
39 string name
40 { options
41 m getModelFactory
42 string schemaName
43 return
44 { modelFactory
45 api-ref wizzi-plugin.modelFactory
46 m getModelTransformer
47 string transformerName
48 return
49 { modelTransformer
50 api-ref wizzi-plugin.modelTransformer
51 m getArtifactGenerator
52 string generationName
53 return
54 { artifactGenerator
55 api-ref wizzi-plugin.artifactGenerator
56 m getSchemaDefinition
57 string schemaName
58 return
59 json schemaDefinition
60 $include wizzi-plugin/modelFactory
61 $include wizzi-plugin/modelTransformer
62 $include wizzi-plugin/artifactGenerator

/src/ittf/models/api/t/wizzi-repo.api.ittf

    
1 $group
2 api wizzi-repo
3 # Kernel api
4 module
5 path wizzi-repo/index.js
6 iface
7 m createStore
8 # A function, returned by wizzi-repo.createStoreFactory
9 # that can be called many times to obtain an instance of
10 # the wizzi-repo.ittfDocumentStore class for a given
11 # storeKind.
12 cb()
13 { store
14 api-ref wizzi-repo.ittfDocumentStore
15 # A new instance always is returned.
16 # TODO A cache strategy is not implemented yet,
17 # neither for stores nor documents.
18 info
19 closure storeKind
20 {
21 hof createStoreFactory
22 called-by wizzi.wizziFactory.initialize
23 { options
24 string storeKind
25 restrict
26 enum mongodb
27 enum filesystem
28 enum localstorage
29 default filesystem
30 switch storeUri
31 on storeKind == mongodb
32 string storeUri
33 # The uri of the running mongodb instance,
34 # that must be started before calling this method.
35 switch baseFolder
36 on storeKind is mongodb
37 string storeBaseFolder
38 # No access is allowed outside of the store base folder.
39 cb()
40 # Returns a function that can be called to obtain an instance
41 # of the wizzi-repo.ittfDocumentStore.
42 function createStore
43 api-ref wizzi-repo.createStore
44 $include ./ittfDocumentStore.api

/src/ittf/models/api/t/wizzi.api.ittf

    
1 $group
2 api wizzi
3 kernel
4 # The main API of the wizzi factory.
5 module
6 path wizzi/index.js
7 {
8 facade createFactory
9 # To execute artifact productions a wizzi.wizziFactory instance
10 # must be obtained. Many factories, with differents wizzi.wizziFactory.createOptions,
11 # can be create by the same process.
12 implemented-by wizzi.wizziFactory.createFactory
13 string user
14 # ACL not implemented yet. To be used when exposing the factory on the web.
15 # Use user name `stefi`.
16 string role
17 # ACL not implemented yet. To be used when exposing the factory on the web.
18 # Use role `admin`.
19 { options
20 api-ref wizzi.wizziFactory.createOptions
21 cb()
22 { wizziFactory
23 api-ref wizzi.wizziFactory
24 m executeWizziJob
25 # Executes a wizzi job described by a wizzi model of type `wfjob`.
26 { request
27 string user
28 default stefi
29 string role
30 default admin
31 { factoryCreateOptions
32 api-ref wizzi.wizziFactory.createOptions
33 { job
34 string name
35 # A label for messages.
36 string ittfDocumentUri
37 # The path to the 'wfjob' model primary ittf document.
38 { productionOptions
39 integer indentSpaces
40 default 4
41 string basedir
42 # TODO explain where it is used
43 integer verbose
44 default 2
45 # Not implemented yet
46 { dumps
47 # (Optional) request for dumps to files of transient objects for debug purposes.
48 string dumpsBaseFolder
49 required
50 { mTreeBuildupJsWizziScript
51 boolean dump
52 string dumpsBaseFolder
53 default &dumpsBaseFolder/scripts
54 { mixedMTree
55 boolean dump
56 string dumpsBaseFolder
57 default &dumpsBaseFolder/mixed
58 { evaluatedMTree
59 boolean dump
60 string dumpsBaseFolder
61 default &dumpsBaseFolder/evaluated
62 { globalContext
63 # Every wizzi factory loading, transformation and artifact generation
64 # executed by this job
65 # will have the properties of this object injected in its
66 # context object.
67 cb()
68 # If the callback returns both error and result = null the
69 # job has been successfully executed.
70 null
71 info
72 api-call wizzi.createFactory
73 api-call wizzi.wizziFactory.executeJob
74 m startRunnerServer
75 # Can be used at startup of an application that needs to load
76 # wizzi models synchronously, for example using the $.model(name, query)
77 # or $.api(name, ...args) sync methods in a jswizzi statement.
78 # This method is async and models can be preloaded implementing the
79 # onStart and onPrepare callbacks in a wizzifile.js.
80 # See the wizzifile.js documentation.
81 # TODO links
82 { options
83 string userid
84 string role
85 string cwd
86 # The wizzifile.js folder.
87 default process.cwd()
88 [ factoryCreateOptions
89 # A collection of named wizzi.wizziFactory.createOptions that
90 # allow models preloading from different store kinds and
91 # plugin configurations. The onStart and onPrepare methods
92 # will be called for each wizzi.wizziFactory.createOptions item.
93 { item
94 string name
95 { factoryCreateOptions
96 api-ref wizzi.wizziFactory.createOptions
97 string storeKind
98 # Can be different frome the storeKind(s) used by the application.
99 # For now only one storeKind can be used.
100 cb()
101 # If the callback returns both error and result = null the
102 # generation has been successfully executed.
103 null
104 m generateWizziModelTypes
105 # From an ittf document of schema "wfschema"
106 # async generates:
107 # - a wizzi model type implementation javascript module
108 # - a wizzi model type factory javascript module
109 # - a wizzi model type test javascript module
110 # - a wizzi model type json documentation
111 # - a wizzi model type html documentation
112 { request
113 string user
114 default stefi
115 string role
116 default admin
117 { factoryCreateOptions
118 api-ref wizzi.wizziFactory.createOptions
119 { wfschema
120 string name
121 # The name of the wizzi model type (schema) to be generated.
122 string ittfDocumentUri
123 # The path to the `wfschema` ittf document describing the wizzi model type.
124 string outputPackageFolder
125 # The destination base path of the generated artifacts.
126 # The names of the artifacts will be
127 # &outputPackageFolder/lib/wizzi/models/&name-model.g.js
128 # &outputPackageFolder/lib/wizzi/models/&name-factory.g.js
129 # &outputPackageFolder/lib/wizzi/models/&name-schema.g.json
130 # &outputPackageFolder/lib/wizzi/models/&name-schema.g.html
131 # &outputPackageFolder/lib/wizzi/schemas/&name-test.g.js
132 cb()
133 # If the callback returns both error and result = null the
134 # generation has been successfully executed.
135 null
136 $include wizzi/wizziFactory
137 $include wizzi/pluginsManager
138 $include wizzi/runnerServer
139 $include wizzi/model
140 $include wizzi/artifact
141 $include wizzi/production

/src/ittf/models/api/wf.api.ittf

    
1 wfsystem wizzifactory
2 $include wizzi
3 $include wizzi-repo
4 $include wizzi-mtree
5 $include wizzi-plugin
6 $include wizzi-app

/src/ittf/models/docs/t/concepts/introduction/summary.docs.ittf

    
1 $group
2 summary
3 p The wizzi factory is a pluggable engine that pushes to the extreme the
4 + model driven development of software artifacts.
5 p Everything in wizzi is a templeatable tree structure
6 + that can be transformed until it becomes an AST that an artifact generator can
7 + use to produce a software artifact targeting a programming language (PL).
8 p It is built on a limited number of core packages that contain the modeling system
9 + and the factory engine, plus a growing number of Wizzy Lab packages where
10 + generators for various domains of interest are developed and tested.
11 p <img src="core-labs-packages.svg" width="300px" height="150px">
12 p The Wizzi Factory modeling system is three layered: a meta model, the WizziMetaSchema, models
13 + a WizziSchema, which in turn models specific domain WizziModelTypes.
14 p The WizziMetaSchema is designed to model schemas that can be represented by a
15 + three data structure and can be easily mapped to a javascript object.
16 p Source models, named IttfDocuments, are text based and can be edited using
17 + the code/text editor of choice.
18 p Ittf stays for Indented Text Tree Format, the notation format of
19 + the Wizzi Factory modeling system. An IttfDocument is a tree data structure, codified in a text document,
20 + where child nodes are indented to their parent.
21 ittf
22 - html
23 - body
24 - ul
25 - li
26 - a The Wizzi Factory
27 - href https://wizzifactory.github.io
28 p Ittf documents are composable and templateable. A pipeline of transformations is applied to
29 + them giving, as a result, a
30 + typed wizzi model that must be validated against its schema.
31 p Finally Artifact generators transform WizziModelInstances into Software Artifacts.
32 p The Wizzi factory has two main processes.
33 p <img src="two-main-processes.svg">
34 p The two processes have the same structure. WizziModelTypes and
35 + WizziModelFactories are themselves Software artifacts generated
36 + by an ArtifactProduction. WizziSchemas are modeled using IttfDocuments.
37 p There is a circularity that requires a bootstrap step.
38 + It consists of a manually crafted wizzi model type describing the 'wfschema',
39 + Wizzi models of type 'wfschema' are inputs to the wizzi model type production that
40 + generates wizzi model types and factories.

/src/ittf/models/docs/t/concepts/objects/artifactgenerator.docs.ittf

    
1 object Artifact generators
2 summary
3 p An artifact generator transforms one or more WizziModelInstances into a Software artifact.
4 ul It can be:
5 li a full Javascript program, that uses a 'code write' process to output an artifact;
6 li an IttfDocument that act as a template and will be loaded into a WizziCodeModel, from
7 + which the artifact will be generated.
8 p To be exposed to the ProductionManager of the Wizzi Factory, artifacts must be packaged
9 + respecting a conventional folder structure and an interface.
10 see CodeWriteArtifact
11 see WizziCodeModelArtifact
12 see ArtifactPackage
13 see ArtifactInterface

/src/ittf/models/docs/t/concepts/objects/ittfdocument.docs.ittf

    
1 object Ittf documents
2 summary
3 p Ittf stays for Indented Text Tree Format, the notation format of
4 + the Wizzi Factory modeling system.
5 p An Ittf document is a syntax tree, codified in a text document,
6 + where child nodes are indented to their parent. This is an Ittf document:
7 p
8 ittf
9 - html
10 - body
11 - ul
12 - li
13 - a The Wizzi Factory
14 - href https://wizzifactory.github.io
15 p
16 p There are primary, mixin and include Ittf documents. This is a mixin:
17 ittf
18 - li
19 - $params text, href
20 - a ${dollar}{text}
21 - href ${dollar}{href}
22 p To a mixin you can pass arguments. Instead an include is simply inserted as is.
23 + This could be an include:
24 ittf
25 - div License MIT
26 - span copy Stefano Bassoli.
27 p
28 ul It may contain two kind of nodes:
29 li Object nodes. Name/value pairs which semantics is described by a Wizzi schema.
30 li Control nodes, alias Ittf statement nodes. Processing and conditional statements that,
31 + once the loading is triggered, drive the document into an Ittf model, a syntax
32 + tree with only node objects.
33 p Every IttfDocument of the Wizzi Factory is a full template:
34 + all its nodes are templeatable elements; even the root of
35 + a primary IttfDocument may be a replaceable node or
36 + a node with a template expression in its value.
37 p An Ittf document can include or mix up other Ittf documents.
38 + One can pass any object as a context to the Ittf model loader,
39 + can conditionaly include/exclude node branches using context values
40 + and can also create context values by code inside an Ittf document.
41 p The final result only, alias the Ittf model, containig object nodes
42 + only, must be validated by a Wizzi schema to became a Wizzi model instance.
43 p Not every Itff document should became a Wizzi model. An Ittf model once built
44 + can be persisted again to a new, more complex Itff document, so you can chain
45 + as many transformations as you need and load only final
46 + Ittf models into Wizzi model instances.
47 see the IttfStatements API
48 href apis/ittfstatements
49 see IttfDocuments examples
50 href examples/ittfdocuments

/src/ittf/models/docs/t/concepts/objects/ittfexpression.docs.ittf

    
1 object Ittf expression
2 summary
3 p The value of an ittf node may contain a Js-Wizzi expression that will be replaced with
4 + the result of its evaluation.
5 see the IttfExpressions API
6 href apis/ittfexpressions

/src/ittf/models/docs/t/concepts/objects/ittfmodel.docs.ittf

    
1 object mTree (magical tree)
2 summary
3 p An mTree is the result of an ittf document loading and buildup.
4 p It contains domain nodes only, that must be conformant to a wizzi schema,
5 + and is loaded into a wizzi model type.
6 see the IttfModel API
7 href apis/ittfmodel

/src/ittf/models/docs/t/concepts/objects/ittfmodelloader.docs.ittf

    
1 object Ittf model loaders
2 summary
3 p The IttfModelLoader is the transformation engine of the Wizzi factory.
4 + It parses IttfDocuments and processes
5 + It processes the Ittf statements coded in Ittf documents and composes, mixups,
6 + evaluates the tree nodes of the documents producing an Ittf model.
7 see the Ittf model load process description
8 href apis/ittfmodelloader

/src/ittf/models/docs/t/concepts/objects/ittfstatement.docs.ittf

    
1 object Ittf statement
2 summary
3 p An IttfStatement is a control node of an IttfDocument, that is recognized by name by the
4 + IttfModelLoader.
5 ul Are IttfStatement:
6 li include or mixin call instructions
7 ul
8 li $include <include-path>
9 li <mixin-path>( <arg> [, <arg> [ … ] ] )
10 li $params <param> [, <param> [ … ] ] )
11 li template control statements
12 ul
13 li $if <condition>
14 li $elif <condition>
15 li $else
16 li $foreach <item> in <contextCollection>
17 li append and hook statements
18 ul
19 li $append
20 li $hook
21 li context manipulation code
22 ul
23 li
24 li $global
25 li multiline value content
26 ul
27 li $.
28 li comments
29 ul
30 li $$ <rest-of-line>
31 li $* ... node branch ... *
32 see the IttfStatements API
33 href apis/ittfstatement

/src/ittf/models/docs/t/concepts/objects/wizzimodel.docs.ittf

    
1 object Wizzi models
2 summary
3 p A Wizzi model is a typed Document Object Model acting as a data context
4 + in an Artifact generation process.
5 p Wizzi model(s) and their loader(s) are generated
6 + from a Wizzi schema.
7 p Instances of a Wizzi model are created
8 + by Wizzi model loader(s) and populated
9 + with the semantic nodes of an Ittf model
10 see the WizziModel API
11 href apis/wizzimodel

/src/ittf/models/docs/t/concepts/objects/wizzimodelinstance.docs.ittf

    
1 object Wizzi model instances
2 summary
3 p A WizziModelInstance is an instance of a WizziModelType populated with
4 + an IttfModel conformant to its WizziSchema.
5 p It can act as a context object in the template evaluation of
6 + other WizziModelInstances. May be used as a context by
7 + CodeWriteArtifactGenerators. May be traversed and manipulated
8 + by WizziModelTransforemers or by WizziSchema methods.

/src/ittf/models/docs/t/concepts/objects/wizzimodelloader.docs.ittf

    
1 object Wizzi model loaders
2 summary
3 p Wizzi model loaders are javascript modules generated from wizzi schemas.
4 p Ittf documents are loaded into wizzi models of their type (schema).
5 ul The wizzi model loading process
6 li
7 ul Template evaluation context models loading:
8 li Recurse the execution of this 'wizzi model loading process'
9 + for each context model passed as an argument to the wizzi model loader;
10 li template context object emission (callback).
11 ul mTree loading (inputs: 1 - primary ittf document uri, 2 - template context object)
12 li ittf document lexing and parsing;
13 li includes resolution;
14 li mixins resolution;
15 li node branch appends and hooks resolution;
16 li template evaluation;
17 li mTree structure builup;
18 li mTree emission (callback).
19 ul Wizzi model instance loading:
20 li wizzi model factory retrieving (from plugins)
21 li instantiation of a wizzi model instance;
22 li load (from mTree) method;
23 li initialize method;
24 li verify method;
25 li model instance emission (callback).

/src/ittf/models/docs/t/concepts/objects/wizzimodeltransformer.docs.ittf

    
1 object Wizzi model transformers
2 summary
3 p An ittf document can use statements for composing rich models
4 + mixing context data, but we may need to preprocess our models
5 + before artifact generation.
6 p A wizzi model transformer is a javascript program that receives in input
7 + a model object and a context object, and returns a transformed model
8 + as a POJO object.
9 p To be used by the production manager of the wizzi Factory, model transformers
10 + must be packaged in a plugin respecting a conventional folder structure
11 + and an interface.
12 see WizziModelTransformerExample
13 see WizziModelTransformerPackaging
14 see WizziModelTransformerInterface

/src/ittf/models/docs/t/concepts/objects/wizzischema.docs.ittf

    
1 object Wizzi schemas
2 summary
3 p A wizzi schema describe the node structure to which an mTree
4 + must be conformant in order to be
5 + loaded into a wizzi model type.
6 p Wizzi model types are artifacts generated
7 + transforming a wizzi schema.
8 p A wizzi schema is itself a wizzi model of schema
9 + 'wfschema' and is created writing templateables ittf documents,
10 + like any wizzi model:
11 h3 Example of wizzi schema
12 ittf
13 - wfschema rdbms
14 - e catalog
15 - r table/s
16 - e table
17 - r column/s
18 - r index/es
19 - e column
20 - a type
21 - a caption
22 - a defaultValue
23 - tag default
24 - e index
25 - a primary
26 - type boolean
27 - a unique
28 - type boolean
29 - r column/s
30 p A Wizzi schema may target any domain: data, ui,
31 + code language, etc ...

/src/ittf/models/docs/t/concepts/artifactgenerator.docs.ittf

    
1 concept Artifact generator
2 summary
3 p An artifact generator transforms a context object into a software artifact
4 + targetting a programming language or a data structure schema.
5 p Like a model trasformer an artifact generator is an interface exported by plugins
6 + and its implementation is free. Usually the implementor is a javascript program that receives
7 + in input a wizzi model or an mTree and returns the text of the generated artifact.
8 + To be used in a production, artifact generators
9 + must be packaged in a plugin respecting folder structure
10 + and interface.
11 p The wizzi job executor retrieve the artifact generator from its plugin and
12 + invoke the generation method.

/src/ittf/models/docs/t/concepts/elasticsynthaxtree.docs.ittf

    
1 concept Wizzi models as syntax trees
2 summary
3 ul WizziModelTypes are generated in javascript implementing a logical tree view of the model:
4 li Elements are nodes.
5 li Container elements are parents to attributes and related elements.
6 li There must be only one root element (an element without a parent).
7 p The tree structure of a WizziModel can be modeled as the syntax tree structure
8 + of a programming language (PL) and model instances may act as code templates.
9 p Grammars may be simplified/trivialized, using stereotypes instead of valid symbols.
10 + The statements of a programming language (PL) are syntactic sugar, the best
11 + as possible human readable, that must be parsed into an
12 + <a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree">abstract synthax tree (AST)</a>
13 + in order to produce the machine instructions to be executed.
14 p The grammar of a PL is a transformation rule from syntactic sugar to AST.
15 + An AST is less human readable but more powerful of a PL. It is made of
16 + nodes that express the semantics of instructions and can be traversed to
17 + extract relations between nodes. Compilers use the concept of
18 + <a href="https://en.wikipedia.org/wiki/Abstract_semantic_graph">Abstract semantic graph (ASG)</a>
19 + for trasformations of ASTs that may contain shared subterms (also known as "common subexpressions").
20 p ASTs and their traversals and trasformations are a powerful tool for compiling
21 + machine instructions. Why this power can't be used in model driven generation of
22 + software artifacts, which are the inputs to compilers?
23 p Well, obviously software factories try just to do that. Every modeling methodology is, in
24 + this respect, a kind of sintactic sugar around implicit ASTs that artifact generators
25 + traverse and trasform in the best intelligent way they can do.
26 p But why not to use explicit ASTs as models of the software factory. ASTs transformations could
27 + be executed in every step of the factory life-cycle: models design, model instances
28 + construction and models processing in the final artifact generation step.
29 p That is the idea on which is founded the Wizzi Factory. Everything: schemas, models, templates and
30 + generators, became ASTs, with plenty of functionality to traverse, transform, build the
31 + node branches of the tree.
32 p That means that we go back to early times when programs where punched in machine code?
33 p Or may an AST be elastic and contain a mix of formal tree structures and syntactic sugar,
34 + to have a balance between the power of the AST and the readability of a more
35 + natural language.
36 p A compiler that should digest an "elastic AST" could simply spit it.
37 p But an ArtifactGenerator that is created from the same designer/programmer/team that has
38 + created the "elastic AST" schema
39 + can well digest it without too much hassle.
40 p The ArtifactGenerators of the Wizzi Factory are built on the concepts
41 + of "Elastic syntax trees" and "LanguageWizziSchema".

/src/ittf/models/docs/t/concepts/generationprocess.docs.ittf

    
1 concept Wizzi factory
2 summary
3 p The wizzi factory,
4 + is a model driven artifacts generator
5 + that generates its next version.
6 p Its goal is, at the same time, to simplify, speed,
7 + improve and document the production process.
8 p The belief is that succeding in improving its generation,
9 + will make it successfully reusable for any other
10 + usefull generation purpose.
11 p The wizzi factory uses for almost any of its precesses
12 + one single omnipresent component: the wizzi magical tree,
13 + mTree for shorter.
14 p So before diving into software atifact generation concept we
15 + need to familiarize with mTrees.
16 implementing
17 + one single production process:
18 ul
19 li Model your domains of interests and your programming
20 + languages (PL) with a simple schema defining
21 + elements, attributes and relations.
22 li Write templated domain and language models in textual
23 + documents with a tree structure notation (see ittf notation).
24 li Write model transformers and artifact generators that
25 + transform models into software artifacts.
26 li Write templated job models that a production manager will execute
27 + orchestrating model transformations and artifact generations.

/src/ittf/models/docs/t/concepts/instancebuildup.docs.ittf

    
1 concept Build up of wizzi model instances
2 summary
3 p The buildup of a model from one or many IttfDocuments is a powerful process of
4 + the wizzi factory.
5 ul An IttfDocument may contain two kind of nodes:
6 li Domain nodes: name/value pairs which semantics is described by a wizzi schema.
7 ittf
8 - table User
9 - column Email
10 li Command nodes: processing and conditional statements.
11 ittf
12 - $if condition
13 - statements
14 ul Command nodes allow:
15 li Inclusion or mix up of other IttfDocuments.
16 li Conditional inclusion/exclusion of node branches using context values.
17 li Template expansion of node branches.
18 li Creation or modification of context values.
19 p The mixup of IttfDocuments can be recursive: a mixin can in turn mixup other mixins.
20 + The command node invoking a mixin inclusion may be the root
21 + node of on IttfDocument, allowing a partial branch to mixup its container branch or root and
22 + to be appended to a declared node (see the command nodes: $append and $hook).
23 p The final step of the build up is the template evaluation, which rebuilds the nodes
24 + of the source IttfDocuments in an in-memory
25 + tree structure, the mTree (magical tree), that contains only domain nodes.
26 p The mTree is the source object that may be loaded into a typed wizzi model.

/src/ittf/models/docs/t/concepts/ittfdocument.docs.ittf

    
1 concept Ittf document
2 summary
3 p Ittf, short for Indented Text Tree Format, is the textual notation format of
4 + an mTree.
5 + An Ittf document is a syntax tree, codified in a text document,
6 + where child nodes are indented to their parent.
7 h4 Example of ittf document
8 ittf
9 - html
10 - body
11 - ul
12 - li
13 - a The Wizzi Factory
14 - href https://wizzifactory.github.io
15 p Every line is a node consisting of a name value pair.
16 + The name is the first string of chars of the line and is separated
17 + from the value by a space or a tab.
18 p The node name can be a domain tag with a semantic meaning or
19 + a node command for the template processor.
20 + Both the node name and the value may contain expressions that are
21 + interpolated.
22 p An ittf document is a template and when loaded for building
23 + an mTree we can pass a template context object to the mTree loader.
24 p Ittf documents are full templates and even the root node
25 + may be a command node that invokes the mixup
26 + of its container.
27 h4 Example of a root node that mixes its container.
28 ittf
29 - layout( Welcome to my site )
30 - $append appbar
31 - ul
32 - $foreach item in menulist
33 - li
34 - a ${dollar}{item.name}
35 - href ${dollar}{item.path}
36 - . wrapper
37 - . content
38 h4 Example of a container
39 ittf
40 - html
41 - $params title
42 - head
43 - title ${dollar}{title}
44 - body
45 - header
46 - h1 ${dollar}{title}
47 - $hook appbar
48 - section
49 - $hook
50 ul Ittf document types
51 li primary
52 li mixin
53 li include
54 p A primary ittf document is the entry point of an mTree buildup.
55 p A mixin can receive parameters.
56 p An include is inserted as is and may not receive parameters.
57 h4 Example of a mixin ittf document.
58 ittf
59 - li
60 - $params text, href
61 - a ${dollar}{text}
62 - href ${dollar}{href}
63 h4 Example of an include ittf document.
64 ittf
65 - div License MIT
66 - span copy Stefano Bassoli.
67 p
68 p We have now to examine how an mTree can be transformed in a
69 + schemed (typed) model that we call wizzi model.

/src/ittf/models/docs/t/concepts/jswizzi.docs.ittf

    
1 concept jswizzi
2 summary
3 p The template engine of the wizzi factory uses a customized
4 + subset of the ECMA-262 javascript standard, sandboxed, and tailored
5 + for processing ittf documents and buildup mTrees.
6 + JsWizzi is built on the quite efficent <a href="http://esprima.org/">esprima</a> parsing infrastructure
7 + and is run by a custom javascript engine (JsWizziRunner).
8 p TODO

/src/ittf/models/docs/t/concepts/languageschema.docs.ittf

    
1 concept Language schema
2 summary
3 p A language schema defines a tree structure
4 + that an artifact generator can transform
5 + targeting the synthax of a programming language (PL) grammar.
6 ul Examples:
7 li The js schema in the wizzi-js plugin.
8 li The html and css schemas in the wizzi-html plugin.
9 p A language schema can be viewd as a profile of a PL Grammar that can be implemented partially,
10 + with some of its symbols stereotyped.
11 p The schema developer should try to find the optimal balance
12 + between ease of use and completeness and
13 + define the proper approximation of the schema in respect to the PL grammar.
14 p wizzi v3 is entirely coded using the 'js' wizzi schema implemented
15 + by the wizzi-js plugin.
16 h3 Example of a js ittf document (yes we know it is javascript).
17 ittf
18 - module
19 - kind jsfile
20 - class Horse
21 - super Animal
22 - ctor
23 - param name
24 - base name
25 - m say
26 - log 'Hiiii i am ' + this.name
27 - m create
28 - static
29 - param name
30 - return
31 - new Horse
32 - @ name

/src/ittf/models/docs/t/concepts/modeltransformer.docs.ittf

    
1 concept Model transformer
2 summary
3 p mTrees and wizzi models can compose complex data structures
4 + mixing source and context data, but sometimes we need to preprocess
5 + our models before artifact generation.
6 p A model trasformer is an interface exported by plugins
7 + and its implementation is free. Usually the implementor is a javascript program that receives
8 + in input a wizzi model or an mTree and returns a transformed model
9 + as a POJO object.
10 p To be used in a production, model transformers
11 + must be packaged in a plugin respecting folder structure
12 + and interface.
13 p The transformer interface allow the declaration (for example in a wizzi job), that
14 + a wizzi model or an mTree require a trasformation before
15 + using it as a context object.
16 p The production manager retrieve the transformer from its plugin and
17 + invoke the transform method.

/src/ittf/models/docs/t/concepts/mtree.docs.ittf

    
1 concept mTree
2 summary
3 p An mTree is an in-memory tree data structure that is built
4 + processing a textual template, coded in a common
5 + text editor.
6 p The wizzi factory uses an mTree like a flexible AST,
7 + that can be relaxed or strictly schemed depending
8 + on generation purposes.
9 p We have to see the textual representation of an mTree
10 + and how it can be schemed. In this regard we introduce
11 + ittf documents and wizzi models.

/src/ittf/models/docs/t/concepts/wfschema.docs.ittf

    
1 concept Wizzi schema
2 summary
3 p A wizzi schema describes the node structure to which an mTree
4 + must be conformant in order to be
5 + loaded into a wizzi model.
6 p Wizzi models are artifacts generated
7 + transforming a wizzi schema.
8 p A wizzi schema is itself a wizzi model of schema
9 + 'wfschema' and is created coding
10 + an ittf document,
11 + like any wizzi model.
12 h3 Example of wizzi schema
13 ittf
14 - wfschema rdbms
15 - e catalog
16 - r table/s
17 - e table
18 - r column/s
19 - r index/es
20 - e column
21 - a type
22 - a caption
23 - a defaultValue
24 - tag default
25 - e index
26 - a primary
27 - type boolean
28 - a unique
29 - type boolean
30 - r column/s
31 p A Wizzi schema may target any domain: data, ui,
32 + code language, etc ...
33 p The notation for elements and attributes may be abbreviated. The schema can assign a short mnemonic
34 + tag to elements and attributes.
35 p A javascript module mapping a wizzi model is generated from a wizzi schema.
36 p A wizzi model once loaded can perform actions. A schema can declare schema and element methods
37 + and global functions,
38 + that will be inserted in the generated javascript. Schema and element methods
39 + will have access to model instance data loaded from mTrees.
40 p Two methods: wzInitialize and wzVerify, autogenerated, perform initialization and validation
41 + actions inferred from the schema and its constraints.
42 + Schema designers may define custom methods and/or add code lines to the wzInitialize and wzVerify methods.
43 p So far we have seen how to represent the models that drive software productions. Now we should focus
44 + on artifact generation. Models may require transformations and we need model transformers.
45 + Complex generations may require a task manager and the wizzi factory offers the wizzi job schema
46 + and the production manager component.
47 p Before proceding we must also consider the fact that the most part of artifact generators
48 + targets programming languages (PL) and
49 + not plain tree data structures. The wizzi factory wants to use the power of mTrees for PL also.
50 + For this purpose it has developed the concept of language schema, that is a wizzi schema
51 + describing an <b><i>approximate synthax tree</i></b> for a PL.

/src/ittf/models/docs/t/concepts/wizzifactory.docs.ittf

    
1 summary
2 p The wizzi factory,
3 + is a model driven artifacts generator
4 + that generates its next version.
5 p Its goal is to speed,
6 + improve, automate and document its autogeneration process.
7 p The belief is that, succeding in this, the wizzi factory
8 + will be reusable for any other
9 + usefull generation purpose. Biological evolution says
10 + that this makes sense.
11 p For any of its operations the wizzi factory uses
12 + one basic component: the wizzi magical tree,
13 + or mTree for short.
14 p Therefore, before considering artifact generation concepts, we
15 + need to get acquainted with an mTree.

/src/ittf/models/docs/t/concepts/wizzijob.docs.ittf

    
1 concept Wizzi job
2 summary
3 p The wizzi job is the task runner of the wizzi factory.
4 p Software production processes may
5 + require long chains of model loadings, transformations and
6 + artifact generations.
7 + A wizzi job defines how to load context and language models, execute transformations,
8 + generate artifacts and persist them in their destination paths.
9 p Needless to say that a wizzi job is a wizzi model. It has schema 'wfjob' and is implemented in
10 + the wizzi-core plugin.
11 h4 Example of the wizzi job that produces this documentation html page.
12 ittf
13 - wfjob wizzi-docs-concepts
14 -
15 - var models_folder = path.join(__dirname, 'models');
16 - var html_folder = path.join(__dirname, 'html');
17 - var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io";
18 - models-base-folder ${dollar}{models_folder}
19 - model concepts
20 - src concepts.docs.ittf
21 - schema docs
22 - line html
23 - cwd-folder ${dollar}{html_folder}
24 - wfjob/artifact-html( concepts.html.ittf )
25 - model-ref concepts
26 - transformer docs/preprint
27 - production
28 - dest-folder ${dollar}{dest_folder}
29 - line-ref html

/src/ittf/models/docs/t/concepts/wizzimodel.docs.ittf

    
1 concept Wizzi model
2 summary
3 p Wizzi models are javascript document object models, inspired by Xml document objects,
4 + that may validate and load an mTree.
5 p Wizzi models are described in terms of elements, attributes
6 + and relations. An element is a classifier and
7 + a relation is a relationship between elements.
8 ul In a wizzi model:
9 li An element may have one super element (abstraction) and many derived elements (specializations),
10 + may be abstract or concrete and may have a name and attributes.
11 li Relationships are one-to-many (default) and one-to-one. They
12 + do not have attributes. Both imply ownership of contained (child) elements:
13 + arrays (one-to-many) and single child (one-to-one).
14 li An attribute has a name and a value of a primitive type.
15 ul The tree structure of a wizzi model is mapped to a javascript <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript"> class</a>, where:
16 li Elements are (pseudo)class functions.
17 li Attributes are properties, with a primitive type, of element classes.
18 li One-to-many relationships are array of element classes on the related element class.
19 li One-to-one relationships are element classes on the related element class.
20 li Attributes and relationships are inherited from super elements.
21 p A wizzi model is the preferred template context object of the wizzi factory.
22 + It can expose properties and methods to the template processor
23 + and may speed up the construction of artifact generators.
24 p The wizzi factory uses wizzi models to describe and
25 + generate the javascript module that implement a wizzi model itself.
26 p As xml documents have xml schemas as well a wizzi model has a wizzi schema.

/src/ittf/models/docs/t/concepts/wizziplugin.docs.ittf

    
1 concept Wizzi plugin
2 summary
3 p The wizzi factory is made of a few kernel modules and
4 + an ecosystem of plugins exposing wizzi model types, model transformers and
5 + artifact generators.
6 p TODO

/src/ittf/models/docs/t/contribs/author-packages.ittf

    
1 object Author WizziPackages

/src/ittf/models/docs/t/contribs/improvements.docs.ittf

    
1 object Suggest improvements

/src/ittf/models/docs/t/contribs/issues.docs.ittf

    
1 object Report issues and suggest
2 summary
3 p Hello
4 < a
5 @ href https://guides.github.com/activities/contributing-to-open-source/

/src/ittf/models/docs/t/docs/artifact/core.docs.ittf

    
1 concept Wizzi core artifacts
2 summary
3 p The wizzi-core plugin exports some useful artifacts.
4 + We already have seen the artifacts for the psedo models
5 ul
6 li Json
7 li Xml
8 li Text
9 p There are also these others core artifacts
10 ul
11 li json/export
12 li xml/export
13 li ittf/document

/src/ittf/models/docs/t/docs/artifact/gencontext.docs.ittf

    
1 concept The gencontext object
2 summary
3 h4 The interface of the gencontext object
4 ittf
5 -
6 - #
7 - # Set line indentation to a given value
8 - m forceIndent
9 - param value
10 - #
11 - # Increase line indentation
12 - m indent
13 - param value
14 - #
15 - # Decrease line indentation
16 - m deindent
17 - param value
18 - #
19 - # Add a named value to the interpolation context
20 - m a
21 - param name
22 - param value
23 - #
24 - # Add a named value from the interpolation context
25 - m g
26 - param name
27 - #
28 - # Remove a named value from the interpolation context
29 - m r
30 - param name
31 - #
32 - # Write a text with interpolation and line feed
33 - m w
34 - param text
35 - #
36 - # Write a text with interpolation without line feed
37 - m write
38 - param text
39 - #
40 - # throw a NodeError exception
41 - m error
42 - param message
43 - param node
44 - #
45 - # throw an ArtifactGenerationError exception
46 - m artifactGenerationError
47 - param message
48 - param location
49 - param node

/src/ittf/models/docs/t/docs/artifact/implementation.docs.ittf

    
1 concept Generation implementation
2 summary
3 p An artifact generator produces a text document. The result of a
4 + generation is a buffer of text characters. The production
5 + of this text is driven by models contained in the
6 + parameters passed to the generator.
7 p An artifact generator receives three parameters:
8 ittf
9 - func gen
10 - { model
11 - | api-ref wizzi-plugin.wizziModel
12 - | POJO
13 - { ctx
14 - api-ref wizzi.artifact.genContext
15 - callback
16 ul
17 li A model, a javascript object, that can be a wizzi model or a POJO,
18 + and represent the main object context of the artifact generation,
19 + the model that drives the generation.
20 li An instance of the wizzi.artifact.genContext class that contains
21 ul
22 li An in-memory buffer where the generated text is written
23 + sequentially using write and write line methods.
24 li A data context that may contain zero or many secondary
25 + context models, wizzi models or POJO.
26 li Some helper functions for text indentation, interpolation
27 + and error management.
28 li A callback function that a succesfull generation must call
29 + passing, as a second parameter, an instance of the
30 + wizzi.artifact.genContext with the text buffer containing
31 + the generated artifact
32 p An artifact generation can be code write based, using the write statements
33 + of the wizzi.artifact.genContext instance, or template based.
34 + The wizzi factory uses both systems with a preference, when convenient,
35 + for the template based one, and uses the mTree loader as its preferred
36 + template engine.
37 h3 Code generation by term rewriting
38 p The mTree loader, implemented by the wizzi-mtree.loader.loadMTree API method, is
39 + a powerfull model composer and transformer.
40 + Model transformations can be
41 + chained: an output mTree can become the input context for the next
42 + mTree loading. A 'wfjob' model can orchestrate any number of cascading
43 + transformations.
44 + The models passed to the artifact generator are the final
45 + models, ripe and ready for generating the textual artifact.
46 p A template based generation, that uses the mTree loader,
47 + can be, indeed, more a code generation by term rewriting
48 + than a textual code generation. When mTrees are loaded into wizzi models,
49 + that can apply types and validations, and can programmatically modify the model,
50 + we have a tool for efficiently enabling any extension of the target
51 + language, easily implementing partial classes or any other modular
52 + aspect or rewrite rule.
53 h3 Language schemas and language artifact generators
54 p Focusing on the generation of
55 + the textual content of an artifact, we must treat of a class
56 + of wizzi model types that is specific for the production
57 + of code targeting the synthax of a programming languages (PL).
58 p A language schema defines a tree structure
59 + that an associated language artifact generator can transform
60 + in a targeting PL code. It can be viewd as a profile of a PL Grammar that
61 + can be implemented partially,
62 + with some of its symbols stereotyped. The schema developer should try
63 + to find the optimal balance between ease of use and completeness and
64 + define the proper approximation of the schema in respect to the PL grammar.
65 p Must be said that language schema is a concept. A language schema is
66 + like any other wizzi schema and a language artifact is
67 + like any other artifact generator. The production of specific tools for
68 + creating language schemas and artifacts could be
69 + undertaken in the future.
70 p The wizzi factory, that is generated by the wizzi factory,
71 + uses some language schemas for its generations:
72 ul
73 li The js schema in the wizzi-js plugin.
74 li The html and css schemas in the wizzi-html plugin.
75 li The md (markdown) schema in the wizzi-docs plugin.
76 h3 Template based artifact generation
77 p Wizzi models which type is a language schema are the ideal template
78 + format for a wizzi factory template based artifact generation.
79 h4 This is an example of a js ittf document.
80 ittf
81 - module
82 - kind jsfile
83 - class Horse
84 - super Animal
85 - ctor
86 - param name
87 - base name
88 - m say
89 - log 'Hiiii i am ' + this.name
90 - m create
91 - static
92 - param name
93 - return
94 - new Horse
95 - @ name
96 p Almost every ittf node maps to a node type of the javascripts AST. And
97 + ittf nodes can be template node commands and can contain expressions.
98 h4 Example of template based implementation of the wizzi-plugin.artifactGenerator API
99 p In this dummy example, a 'js' ittf document template,
100 + named 'datalayer/adapters.js.ittf'
101 + is transformed in the javascript textual code of a fictitious datalayer
102 + adapter component.
103 p This example artifact generator makes use internaly of a 'js' language
104 + artifact generator, named 'js/module'. The model that it receives as
105 + the first parameter, that has been loaded in previous steps, becomes
106 + the mTreeBuilUpContext object for loading the mTree of the template.
107 + It must be a wizzi model of type 'rdbms' otherwise an error
108 + is returned in the callback.
109 p The template is loaded, and transformed in a textual artifact, calling
110 + the 'loadModelAndGenerateArtifact' method of the current instance of
111 + the wizzi.wizziFactory class, exposed in the property 'wizziFactory'
112 + of the 'ctx' parameter (an instance of the wizzi.artifact.genContext class).
113 ittf
114 - module
115 - kind jsfile
116 -
117 - var path = require('path')
118 - var md = module.exports = {}
119 - var myname = 'artifact rdbms.adapters.main';
120 -
121 - set md.gen
122 - function
123 - { model
124 - { ctx
125 - callback
126 - # check the model is a wizzi model of type 'rdbms'
127 - if model.wzElement !== 'rdbms'
128 - return
129 - callback
130 - _ctx.error
131 - @ myname + " error: the model paramater should be an 'rdbms' wizzi model"
132 - @ model
133 - # build the artifact template path, it is a js ittf document in a sub folder
134 - var ittfTemplatePath
135 - _ path.join
136 - @ __dirname
137 - @ 'ittf'
138 - @ 'datalayer'
139 - @ 'adapters.js.ittf'
140 - # call the wizzifactory method for loading a language wizzi model and
141 - # generate a language artifact from it. Pass the input model in the
142 - # mTreeBuildUpContext property of the request object argument.
143 - # The 'js' schema of the template model is detected by its filename.
144 - _ ctx.wizziFactory.loadModelAndGenerateArtifact
145 - @ ittfTemplatePath
146 - {
147 - @ mTreeBuildUpContext model
148 - @ 'js/module'
149 - function
150 - param err
151 - param artifactText
152 - if err
153 - # invoke the callback on error, passing back the loadModelAndGenerateArtifact error
154 - return
155 - _ callback
156 - err
157 - # write the artifactText into the genContext buffer
158 - _ ctx.write(artifactText)
159 - # invoke the callback on success, passing back the genContext
160 - _ callback(null, ctx)

/src/ittf/models/docs/t/docs/artifact/index.docs.ittf

    
1 concept Artifact generators
2 summary
3 p Artifact generators are contained in wizzi plugins and are exposed to
4 + the wizzi factory implementing the wizzi-plugin.factoryPlugin API.
5 p The wizzi-plugin.factoryPlugin.getArtifactGenerator(artifactKey) method
6 + returns a wizzi-plugin.artifactGenerator interface for generating
7 + the requested `artifactName`.
8 h4 wizzi-plugin.artifactGenerator API
9 ittf
10 - {
11 - func gen
12 - { model
13 - | api-ref wizzi-plugin.wizziModel
14 - | POJO
15 - { ctx
16 - api-ref wizzi.artifact.genContext
17 - callback
18 p Plugins authors are free to implement this interface with their
19 + preferred tools.
20 p In this documentation section we describe solutions that the wizzi
21 + factory has taken for its own artifact generators.
22 h4 Wizzi factory standard artifact generators location
23 p Artifact generators should have a standard location in the
24 + plugin package.
25 ittf
26 - ...
27 - `package-name`
28 - lib
29 - artifacts
30 - `wfschema-name`
31 - `artifact-name`
32 - gen
33 - main.js
34 p The file 'main.js' is the module that exposes
35 + the wizzi-plugin.artifactGenerator interface for the
36 + artifact of key: `wfschema-name`/`artifact-name`.
37 p This artifact key must be unique in the plugins configuration
38 + of the wizzi.wizziFactory instance that is executing the generation.
39 h4 Example of 'generator' attribute in a 'wfjob'
40 p The `wfschema-name`/`artifact-name` artifact key
41 + is the value to be declared in the generator attribute of the
42 + artifact element of a 'wfjob' ittf document.
43 ittf
44 - wfjob job-name
45 - ...
46 - line line-name
47 - artifact `artifact-generation-description`
48 - ...
49 - generator `wfschema-name`/`artifact-name`
50 - ...
51 p TODO The wizzi-plugin.factoryPlugin API could provide a method for
52 + assigning aliases to named resources of the plugin allowing to
53 + avoid name collisions without modifications to the plugin code.

/src/ittf/models/docs/t/docs/artifact/ittfdocument.ittf

    
1 concept ittf/document core artifact
2 summary
3 p The 'ittf/document' core artifact exports the ittf
4 + representation of a loaded mTree.
5 + This allow the buildup of ittf documents
6 + using the mTree loader for
7 + merging sources and contexts and using JsWizzi
8 + for manipulating them.
9 h4 Sample wizzi job using the 'ittf/document' generator.
10 ittf
11 - wfjob
12 - model styles
13 - src styles.json.ittf
14 - schema json
15 - model layout
16 - src layout.json.ittf
17 - schema json
18 - model options.forms
19 - src options.form.ittf
20 - schema form
21 - line ui
22 - artifact ittf document of model options-page.html.ittf
23 - src options-page.html.ittf
24 - schema ittf
25 - generator ittf/document
26 - extension ittf
27 - model-ref styles
28 - model-ref layout
29 - model-ref options.forms

/src/ittf/models/docs/t/docs/artifact/jsonexport.docs.ittf

    
1 concept json/export core artifact
2 summary
3 p The json/export core artifact can be used in a wizzi job,
4 + to save in a file the json representation of
5 + a wizzi model, when its wizzi schema
6 + declare the export-to json element.
7 h4 Sample wfjob artifact element using the json/export artifact.
8 ittf
9 - wfjob
10 - ...
11 - artifact json export of model sample.form.ittf
12 - src sample.form.ittf
13 - schema form
14 - generator json/export
15 - extension json

/src/ittf/models/docs/t/docs/artifact/sample.docs.ittf

    
1 concept Sample artifact generators
2 summary
3 h4 Code write artifact generator sample
4 ittf
5 - module
6 - kind jsfile
7 -
8 - var md = module.exports = {}
9 - var myname = 'artifact rdbms.sqltables.main';
10 -
11 - set md.gen
12 - function
13 - param model
14 - param ctx
15 - param callback
16 - if model.wzElement !== 'rdbms'
17 - return
18 - callback
19 - _ctx.error
20 - @ myname + " error: the model paramater should be an 'rdbms' wizzi model"
21 - @ model
22 -
23 - $foreach table in model.tables
24 - _ ctx.a('TABLE', table.wzName)
25 - _ ctx.w('declare table TABLE')
26 - ...
27 - _ callback(null, ctx)
28 h4 Ittf document artifact generator sample
29 ittf
30 - module
31 - kind jsfile
32 -
33 - var path = require('path')
34 - var wizzi = require('wizzi')
35 - var md = module.exports = {}
36 - var myname = 'artifact rdbms.sqltables.main';
37 -
38 - set md.gen
39 - function
40 - param model
41 - param ctx
42 - param callback
43 - if model.wzElement !== 'rdbms'
44 - return
45 - callback
46 - _ctx.error
47 - @ myname + " error: the model paramater should be an 'rdbms' wizzi model"
48 - @ model
49 -
50 - var ittfTemplatePath
51 - _ path.join
52 - @ __dirname
53 - @ 'ittf'
54 - @ 'sqltables.sql.ittf'
55 - _ wizzi.fsnoaclFactory
56 - # TODO
57 - _ callback(null, ctx)

/src/ittf/models/docs/t/docs/artifact/xmlexport.docs.ittf

    
1 concept xml/export core artifact
2 summary
3 p The xml/export core artifact can be used in a wizzi job,
4 + to save in a file the xml representation of
5 + a wizzi model, when its wizzi schema
6 + declare the export-to xml element.
7 h4 Sample wfjob artifact element using the xml/export artifact.
8 ittf
9 - wfjob
10 - ...
11 - artifact xml export of model sample.form.ittf
12 - src sample.form.ittf
13 - schema form
14 - generator xml/export
15 - extension xml

/src/ittf/models/docs/t/docs/introduction/index.docs.ittf

    
1 concept Introduction
2 summary
3 p Software Artifacts are generated by <a href="#WizziFactoryProduction">WizziFactoryProductions</a>.
4 ul To setup productions you must build <a href="#WizziFactoryPackage">WizziFactoryPackages</a> that expose:
5 li WizziSchemas
6 li WizziModelTypes
7 li WizziModelFactories
8 li WizziModelTransformers
9 li ArtifactGenerators
10 ul There are 4 standard packages on which you can build a WizziPackage:
11 li wizzi-core
12 li wizzi-ittf
13 li wizzi-schema
14 li wizzi-factory
15 P A fifth standard package, wizzi-legacy, contains the implementation
16 + of some WizziLanguageSchemas of a previous sperimental version of the Wizzi Factory
17 + that are used for bootstrapping the project. They are the js (javascript), html, css and
18 + json WizziLanguageSchema.
19 p This documentation describes the structural and behavioural components of the standard packages.
20 p For a step by step tutorial on how to build the first WizziPackage and the first
21 + WizziFactoryProduction go to the <a href="starter.js">Starter</a> section.
22 p To search prototypes that you may integrate into your solutions
23 + go to the <a href="labs.js">Labs</a> section.
24 p The wizzi-legacy package is not used to build Starter and Labs
25 + WizziPackages; they develop their own versions of WizziLanguageSchemas.

/src/ittf/models/docs/t/docs/jobs/index.docs.ittf

    
1 concept The production manager
2 summary
3 p The production of complex software systems can
4 + require a great number of model processing, transformations
5 + and artifact generations.
6 p The wizzi.production.productionManager class implements an
7 + api for scheduling complex jobs. It is the wizzi factory
8 + task manager.
9 p A wizzi model type implemented by the 'wizzi-core' plugin , the 'wfjob' schema,
10 + can be used to describe wizzi factory jobs. A 'wfjob' model organizes models processing
11 + and artifact generations in production lines that are executed in
12 + sequence, so that a line can prepare models and artifacts for the next one.
13 p A job is executed calling the following method of the
14 + wizzi.wizziFactory instance class.
15 ittf
16 - ...
17 - m executeJob
18 - { jobRequest
19 - string name
20 - # for info and error messages
21 - string path
22 - # path to the 'wfjob' ittf document that the wizzi.production.productionManager will load.
23 - { productionOptions
24 - boolean verbose
25 - # not implemented yet
26 - { globalContext
27 - optional
28 - callback

/src/ittf/models/docs/t/docs/jobs/runnerServer.docs.ittf

    
1 concept The 'runnerServer" execution environment.
2 summary
3 p When the wizzi factory is used in a server application,
4 + or in a long running process where many jobs are
5 + executed, is useful to access some factory
6 + services, prepared on startup, directly from the
7 + jswizzi code inside ittf documents.
8 p There are two jswizzi global functions for this
9 + purpose.
10 ul
11 li $.api( functionName, ... arguments ... )
12 p Allow to call a user function declared on start up.
13 li $.loadModel( modelName )
14 p Allow the retrieval of a wizzi model preloaded on start up.
15 h3 The wizzifile.js
16 p ... TODO ...
17 h4 Event handler wizzifile.onConfig( config )
18 p This event is raised before creating the runnerServer instance.
19 + At this point we can call the config.get(propertyName) and
20 + config.set(propertyName, value) methods on the config object.
21 h4 Event handler wizzifile.onStart( runnerServerInstance, config )
22 p This event is raised before the initialization of the wizzi factory
23 + contained in the runner server. At this point we can call the
24 + runnerServerInstance.registerApi(name, function) method, the
25 + runnerServerInstance.registerPlugin(pluginNameOrPath) method
26 + and the runnerServerInstance.registerGlobalContext(object) method.
27 h4 Event handler wizzifile.onPrepare( runnerServerInstance, config )
28 p This event is raised when the wizzi factory contained in the runner server
29 + has benn initialized. Now it is forbidden to call the
30 + registerPlugin and registerGlobalContext methods but we
31 + can call the runnerServerInstance.loadModel and
32 + runnerServerInstance.transformModel methods.

/src/ittf/models/docs/t/docs/jobs/wfjob.docs.ittf

    
1 concept The 'wfjob" schema
2 summary
3 p The wfjob schema, implemented by the wizzi-core plugin,
4 + is the configuration schema of the production manager,
5 + the wizzi task manager.
6 ul The wfjob elements are
7 li Wfjob
8 li Model
9 li ModelRef
10 li Line
11 li LineRef
12 li Artifact
13 li Production
14 h3 The WfJob element
15 ittf
16 - wfjob `name`
17 - # For info and error messages
18 - string title `short-description`
19 - # For info and error messages
20 - string models-base-folder `path`
21 - # The base path to use when the 'src' attribute of models is a relative path
22 - string dest-base-folder `path`
23 - # The base path of the destination folder of artifacts generated by this job
24 - # Can be overridden by the 'dest-folder' attribute of Line elements
25 - [ models
26 - [ lines
27 - [ productions
28 h3 Model element
29 p A model can be:
30 ul
31 li An ittf documents targeting a wizzi schema exposed by a plugin
32 + loaded in the wizzi.wizziFactory instance that is executing the job.
33 li A POJO module coded in one of these known formats: 'json', 'nodejs'
34 + module exporting the function 'toModel'.
35 ittf
36 - ...
37 - model `model-name`
38 - string src `path`
39 - # The source path of the ittf document or POJO module.
40 - # When relative the base path is the 'models-base-folder' attribute of the
41 - # WfJob element.
42 - string schema `schema-name`
43 - # The name of the wizzi model type (wfschema) that will load the
44 - # mTree defined in the source ittf document.
45 - # Is alternative to the 'format' attribute.
46 - string format `format-name`
47 - One-of 'json', 'nodejs'
48 - # Is alternative to 'schema' attribute.
49 - string dump-file `path`
50 - [ modelRefs
51 - # References to the models to be used, as properties of the mTreeBuildUpContext
52 - # parameter, passed to the wizzi-mtree.loader.loadMTree function,
53 - # for loading the model mTree.
54 h3 ModelRef element
55 ittf
56 - ...
57 - model-ref `model-name`
58 - string export-name `name`
59 - [ transformers
60 h3 Line element
61 p Production lines declare artifacts that are processed asynchronously and
62 + concurrently.
63 ittf
64 - ...
65 - line `line-name`
66 - string cwd-folder `path`
67 - string dest-folder `path`
68 - [ artifacts
69 h3 Artifact element
70 p An Artifact element declares one artifact production that is driven by a
71 + source model. Each production has one driver model, but an Artifact element
72 + can result in many production because the 'src' attribute of this element
73 + may refer to:
74 ul
75 li one single source model
76 li a group of source models described by a glob pattern
77 li one single source model which Model element declares a model collection
78 + property, meaning that each item of the collection is a source model
79 + of the production and produces one artifact.
80 ittf
81 - ...
82 - artifact `artifact-name`
83 - # For info and errors messages.
84 - string src `path` | `glob-pattern`
85 - # Can be:
86 - # . the path of a final artifact that must be simply copied in the destination path.
87 - # . the glob-pattern of final artifacts that must be simply copied in the destination path.
88 - # . the path of a source ittf document
89 - # . the glob-pattern of sources ittf documents
90 - schema `schema-name`
91 - # When the 'src' attribute is the path of an ittf document, is the wizzi
92 - # model type (wfschema) that will load and validate the document.
93 - # Is alternative to the 'format' attribute.
94 - # Can be null if the artifact is a final artifact.
95 - ignore `path` | `glob-pattern`
96 - # Files returned by the 'src' attribute glob-pattern that are to be ignored.
97 - # Can be a glob pattern.
98 - generation `artifact-generator-name`
99 - # The name of the artifact generator that will produce the artifact.
100 - # When the artifact is a final artifact must be omitted.
101 - dest-path `artifact-file-path`
102 - # The 'src' attribute is the default
103 - # relative destination path of the generated artifact,
104 - # but, when set, this attribute overrides the default.
105 - # It may be an absolute path.
106 - extension `artifact-file-extension`
107 - # The path extension of the generated artifact.
108 - # Optional. The default is the 'src' atribute path extension without
109 - # the ending '.ittf' string.
110 - # Child elements
111 - [ modelRefs
112 h3 Production element
113 p Production elements contain a list of references to previously declared
114 + production lines that must be sequentially executed.
115 ittf
116 - ...
117 - production 'production-name'
118 - string dest-folder `path`
119 - [ lineRefs
120 h3 LineRef element
121 ittf
122 - ...
123 - line-ref `line-name`
124 h4 Example of the wizzi job that produces this documentation html page.
125 ittf
126 - wfjob wizzi-docs-concepts
127 -
128 - var models_folder = path.join(__dirname, 'models');
129 - var html_folder = path.join(__dirname, 'html');
130 - var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io";
131 - models-base-folder ${'$'}{models_folder}
132 - model concepts
133 - src wizzi-jobs.docs.ittf
134 - schema docs
135 - line html
136 - cwd-folder ${'$'}{html_folder}
137 - wfjob/art-wo-html( docs.html.ittf )
138 - model-ref concepts
139 - transformer docs/preprint
140 - production
141 - dest-folder ${'$'}{dest_folder}
142 - line-ref html

/src/ittf/models/docs/t/docs/mtree/t/tr.docs.ittf

    
1 tr
2 $params name, value|@@null
3 td ${name}
4 td
5 $if value != null
6 + ${value}
7 $hook

/src/ittf/models/docs/t/docs/mtree/index.docs.ittf

    
1 $group
2 $include ./ittf-document
3 $include ./ittf-notation
4 $include ./xml-comparision
5 $include ./ittf-composition
6 $include ./ittf-templates
7 $include ./ittf-codeunits

/src/ittf/models/docs/t/docs/mtree/ittf-codeunits.docs.ittf

    
1 concept Ittf documents as code units
2 summary
3 p We have seen that primary and mixed mTreeBricks have their own evaluation context.
4 + An mTree loading also has a global evaluation context, where are loaded
5 + javascript components that jswizzi can safely access and the context objects
6 + passed to the wizzi-mtree.loader.loadMTree function.
7 p Template node commands and expressions contained in node names and node values can
8 + access the global context and the evaluation context of their mTreeBrick.
9 p With code node commands we can declare statements that modify or create variables
10 + in both the evaluation contexts.
11 h3 The '$' code node command
12 p Can be used to declare single line or multi-line jswizzi-statements, that
13 + during the evaluation step, are executed in the mTreeBrick scope
14 + to which the node command belongs.
15 p They may declare and modify variables that have mTreeBrick scope, and
16 + modify variables that have global scope.
17 h4 Single line format
18 ittf
19 - ...
20 - $ jswizzi-statement
21 h4 Example
22 ittf
23 - ...
24 - $ var names = ['stefi', 'annie'];
25 h4 Multi-line format
26 ittf
27 -
28 - jswizzi-statement
29 - jswizzi-statement
30 - ...
31 h4 Example
32 ittf
33 - ...
34 -
35 - var names = ['stefi', 'annie'];
36 - var j = 0;
37 h3 The $global code node command
38 p Can be used to declare single line or multi-line jswizzi-statements, that
39 + during the evaluation step, are executed in the global scope.
40 p They may modify variables that have mTreeBrick scope, and
41 + create and modify variables that have global scope.
42 h4 Single line format
43 ittf
44 - ...
45 - $global jswizzi-statement
46 h4 Multi-line format
47 ittf
48 - $global
49 - jswizzi-statement
50 - jswizzi-statement
51 - ...

/src/ittf/models/docs/t/docs/mtree/ittf-commandnodes.docs.ittf

    
1 concept Ittf node commands
2 summary
3 h3 $include
4 p Format:
5 ittf
6 - ...
7 - $include include-path
8 p The node value (include-path) is the relative path to the ittf
9 + document that must be included. The folder uri of the
10 + includer document is the base path for the path resolution
11 + of composed documents.
12 p The included mTreeBrick will be included as is, replacing
13 + the $include node command, and its nodes will become part of the
14 + scope of the includer.
15 p An $include node command cannot have children nodes. The included
16 + mTreeBrick cannot have brick composition parameters.
17 h3 Mixin inclusion (alias mixer node)
18 p Format:
19 ittf
20 - ...
21 - mixin-path( arg-1 [, arg-2 ... [, arg-n]] )
22 - [ optional ittf node branch ]
23 p A mixin inclusion is recognized by the line parser when a node name
24 + ends with an open parenthesis. The chars before the open parenthesis
25 + are the relative path to the mixed ittf document. The folder uri of
26 + the mixer ittf document is the base path.
27 + No whitechar must separate the mixin path and the open paren.
28 p The mixed mTreeBrick is inserted in the mixer one replacing
29 + the mixin inclusion node command. If the mixer node has children
30 + they, by default, are appended to the root node of the mixed mTreeBrick.
31 + But if the mixed brick has a descendant node that is a '$hook'
32 + node command of name 'default', than the children of the mixer node
33 + will replace it.
34 p Example of mixin with an $hook node command where children
35 + of the mixer node will be appended. The hook-name is not declared,
36 + so it is assumed to be 'default').
37 ittf
38 - table
39 - $hook
40 p The root node of a mixed ittf document can be a mixin inclusion node command:
41 ittf
42 - mylayout( home )
43 - div My content
44 h3 $params
45 p Format:
46 ittf
47 - rootnode
48 - $params param1 [,param2 [,param-n]]
49 table
50 tr( param, [&]name[:type][|default] )
51 tr( & , the paramater is an object passed by reference )
52 tr( name , the name of the parameter to be used in IttfMacro expressions )
53 tr( type , the parameter type)
54 p one-of: string(default), integer, float, boolean, date, object (implicit
55 + when '&' declared), macro (implicit, detected from IttfMacro delimiters
56 + contained in the default value)
57 tr( default, typed-value | @@null | @@undefined )
58 p warning! `title|null` becomes title = "null" (the quoted string null)
59 br
60 + if you want title to be null then : `title|@@null`
61 tr( string, quotes are optional, example: `title|"my way"` and `title|my way` are the same )
62 tr( boolean, true | false)
63 tr( date, yyyy/mm/dd )
64 tr( macro)
65 p an IttfMacro can be passed as a parameter to a mixin, when the parameter
66 + is referenced we have a double macro substitution
67 p Example:
68 ittf
69 - li
70 - $params text, href
71 - a ${'$'}{text}
72 - href ${'$'}{href}
73 h3 $hook
74 p Format
75 ittf
76 - ...
77 - $hook name
78 p An $hook node command is a named insertion point where node branches can
79 + be appended. The name is optional, when missing its value is 'default'.
80 p It has to be replaced and must not have children nodes.
81 p See the statements MixinCall and AppendHookCall, for how to append
82 + IttfNodeBranches to an $hook node.
83 h3 $append
84 p Format
85 ittf
86 - ...
87 - $append hook-name
88 - ... node branch ...
89 p An $append node command is the root of a node branch that should be
90 + appended to an ancestor $hook of name hook-name.
91 + The $append children nodes replace the $hook node.
92 h3 $group
93 p Format
94 ittf
95 - $group empty-value
96 - ... node branch ...
97 p An ittf document must have one and only one root node.
98 p The $group node command is a convenience node that may be used, as the root of
99 + an included or mixed mTreeBrick, that must have more than one root node.
100 p The $group node disappear in the builded mTree.
101 h3 $if, $elif, $else
102 p Children nodes of these node commands are included/excluded from the builded mTree
103 + depending on the value of the expression.
104 p Format:
105 ittf
106 - ...
107 - $if jswizzi-expression
108 - ... node branch ...
109 - $elif jswizzi-expression
110 - ... node branch ...
111 - $else empty-value
112 - ... node branch ...
113 h3 $foreach
114 p Format:
115 ittf
116 - ...
117 - $foreach item-name in collection-name
118 - ... node branch ...
119 p Descendant nodes of this node command are a repeat template; item-name
120 + is user defined and collection-name is a jswizzi expression that evaluates
121 + to an iterable javascript object, in scope in the mTreeBrick or in the global
122 + jsWizziContext.
123 p The var statement that declares item-name is auto-generated.
124 p Descendant nodes are repeated having item-name as a value in scope.
125 h3 $break, $continue
126 p Format:
127 ittf
128 - ...
129 - $break empty-value
130 - ...
131 - $continue empty-value
132 p This statements have the same meaning than in javascript but operate breaking or continuing
133 + the template repetition.
134 p A label for continuation is not implemented.
135 h3 $while
136 p Format:
137 ittf
138 - ...
139 - $while jswizzi-expression
140 - ... node branch ...
141 - $ jswizzi-exit-condition-change
142 p This is a repeat template statement where descendant nodes are repeated
143 + until the jswizzi-expression evaluates to false.
144 p $ or $global node commands must be used to modify the context values of the exit condition.
145 + There is a limit of 10000 iterations to guard against accidental loops, after that an exception is raised.
146 h3
147 p Single line format:
148 ittf
149 - ...
150 - $ jswizzi-statement
151 p Multi-line format:
152 ittf
153 -
154 - jswizzi-statement
155 - jswizzi-statement
156 - ...
157 p Descendant nodes of this command can contain jswizzi statements that,
158 + during the evaluation step, are executed in the mTreeBrick scope
159 + to wich the node command belongs.
160 p They may declare and modify variables that have mTreeBrick scope, and
161 + modify variables that have global scope.
162 h3 $global
163 p Single line format:
164 ittf
165 - ...
166 - $global jswizzi-statement
167 p Multi-line format:
168 ittf
169 - $global
170 - jswizzi-statement
171 - jswizzi-statement
172 - ...
173 p Descendant nodes of this command can contain jswizzi statements that,
174 + during the evaluation step, are executed in the global scope of the jsWizziContext.
175 + They may declare or modify variables in the global scope.
176 h3 $.
177 p Format:
178 ittf
179 - ...
180 - $.
181 - free content
182 - free content
183 - ...
184 h3 $$
185 p Format:
186 ittf
187 - ...
188 - ul
189 - $$ <rest-of-line is comment>
190 - li item $$ <rest-of-line is comment>
191 h3 $* ... *
192 p The multiline comment
193 p Format:
194 ittf
195 - ...
196 - $*
197 - ul
198 - li
199 - *

/src/ittf/models/docs/t/docs/mtree/ittf-composition.docs.ittf

    
1 concept Ittf documents composition
2 summary
3 p An ittf document, when loaded, become a javascript object named mTreeBrick.
4 p mTreeBricks are composition units. They can mix, or include, other bricks and can
5 + be mixed, or included.
6 + The mix or include operation is declared on a node of the mixer or includer brick,
7 + that will be replaced from the nodes of the mixed or included one.
8 p An mTree loading begins loading a primary ittf document, that become the primary
9 + mTreeBrick, the starting point of the composition. Included and mixed
10 + ittf documents are named composed ittf documents that become composed
11 + mTreeBricks.
12 p A single mTreeBrick can be composed many times in different positions of
13 + the builded mTree. It is loaded once, and cloned for composition.
14 p Include and mix operations have a different behaviour. When included, cloned mTreeBricks,
15 + become part of the includer brick and their nodes acquire its brick key and
16 + its brick evaluation context. Instead, mixed mTreeBricks, are inserted in the
17 + node structure of the mixer, but each of them mantains its original brick key
18 + and brick evaluation context. When coding an ittf document, that will become a
19 + mixed mTreeBrick, created variables will have a scope limited to the nodes declared
20 + in the document, even if they will be merged in the mixer brick.
21 p Summarizing: primary and mixed mTreeBricks have their own evaluation context, included
22 + mTreeBricks use the evaluation context of their includer.
23 p In case of a mixed mTreeBrick the mixer node can have children nodes that in turn
24 + can replace 'hook' nodes of the mixed brick. See the '$hook' and '$append'
25 + ittf command nodes for the composition rules of a mix operation.

/src/ittf/models/docs/t/docs/mtree/ittf-document.docs.ittf

    
1 concept Ittf document
2 summary
3 p Ittf, Indented Text Tree Format, is a document type for
4 + declaring and transferring a textual representation of
5 + a tree structure of name-valued nodes.
6 p Ittf documents are building blocks, made to be loaded and composed into a
7 + javascript tree structure, named mTree.
8 p A single ittf document, when loaded, becomes an mTreeBrick, a composition element
9 + that can include or mix other mTreeBricks and can in turn be included or mixed.
10 p Ittf documents also can be templates or pieces of templates. They can contain
11 + conditional or repeat template node commands and can use context objects,
12 + passed to the mTree load function, for creating new nodes of the composed mTree.
13 p Further ittf documents can be code units, and can codify statements and expressions using
14 + a sandboxed subset of the ECMA-262 javascript standard named 'jswizzi'. Statements can create,
15 + and modify, variables (in the evaluation context of an mTreeBrick or in the global
16 + evaluation context) that template node commands can use to select or create nodes.
17 p We will see next:
18 ul
19 li The ittf notation
20 li Ittf documents composition
21 li Ittf template node commands
22 li Ittf documents as code units

/src/ittf/models/docs/t/docs/mtree/ittf-notation.docs.ittf

    
1 concept Ittf notation
2 summary
3 p Documents are made of 'phisical' text lines separated by a:
4 ul
5 li x'000a' char or
6 li x'000d' char or
7 li x'000a' + x'000d' couple of chars
8 p A line is made of a node-name and a node-value separated by a
9 + white-char (space or tab).
10 ittf
11 - name value
12 - name value
13 p Node-values always are trimmed, you cannot have a node-value
14 + that starts or ends with a white-char sequence.
15 p Example. When loaded, both these nodes will containg the 'value' string in the node-value.
16 ittf
17 - name1 value
18 - name2 value
19 p The node hierarchy is built calculating the indentation of node-names
20 + in a text line. Every tab or every 4 space chars preeceding a node-name
21 + count for one level of indentation.
22 p The node-name of the first line (the root node-name) must have indentation zero.
23 + The node-name must start at column 1 (1-based) of the first row.
24 p An ittf document cannot have more than one root node. If the semantic of a
25 + document require more than one root node one can use the convenience '$group'
26 + node command. It may be used as the root node of a composed document (included
27 + or mixed) and is ignored during the mTree build up so its children logically become
28 + root nodes of the document.
29 p Example. Ittf document with two root nodes.
30 ittf
31 - $group
32 - root1 value1
33 - root2 value2
34 p A line become a node which parent is the first preceeding line with a lesser
35 + indentation.
36 p Phisical text lines may have line continuatios and a 'logical' line
37 + may contain many phisical lines. There are three pre-defined
38 + node-names that allow line continuation:
39 ul
40 li '\' means that the node-value is joined to the node-value
41 + of the parent node without separation.
42 li '\b' means that the node-value is joined to the node-value
43 + of the parent node with one space char separator.
44 li '\n' means that the node-value is joined to the node-value
45 + of the parent node with one Line Feed char separator.
46 p Example of line continuation. Both 'name1' and 'name2' have the same value.
47 ittf
48 - root
49 - name1 I am
50 - \b a single
51 - \b line
52 - name2 I am a single line
53 p Node names and values are text strings by design, and never require quotes
54 + (they are unquoted by the lexer). The wizzi factory is a text manipulator.
55 + If the semantic of a node-value require that it is treated as a different type
56 + (boolean, integer, float or date), that can be done using wizzi schemas,
57 + that apply types to the tree structure resulting from loading an ittf
58 + document (see mTrees).
59 p One exception to this rule is when an argument is passed to a mixed ittf document,
60 + and will become part of its evaluation context. Types different from string
61 + can be usefull in jswizzi statements and expessions. The '$params' node command, that
62 + declares the parameters received by a mixed ittf document, may assign a type to
63 + passed arguments.
64 p In any case the lexer do not detect types. When needed they must be declared.

/src/ittf/models/docs/t/docs/mtree/ittf-templates.docs.ittf

    
1 concept Ittf templates
2 summary
3 p mTreeBricks are composable templates, and their nodes can contain template node commands
4 + and jswizzi expressions, that will be processed in the final step
5 + of the mTree loading: the evaluation step.
6 p The buildup of the resulting mTree can create new nodes using repeat node commands
7 + like '$foreach' and '$while' and can include or exclude node branches
8 + using '$if', '$elif' and '$else' conditional node commands.
9 p jswizzi statements and expression are executed in the mTreeBrick evaluation context
10 + and may access global context variables.
11 h3 $foreach repeat node command
12 p Format
13 ittf
14 - ...
15 - $foreach item-name in collection-name
16 - ... node branch ...
17 p Descendant nodes of this node command are a repeat template; item-name
18 + is user defined and collection-name is a jswizzi expression that evaluates
19 + to an iterable javascript object, in scope in the mTreeBrick or in the global
20 + jsWizziContext.
21 p The var statement that declares item-name is auto-generated.
22 p Descendant nodes are repeated having item-name as a value in scope.
23 h3 $while repeat node command
24 p This is a repeat template statement where descendant nodes are repeated
25 + until the jswizzi-expression evaluates to false.
26 p $ or $global node commands must be used to modify the context values of the exit condition.
27 + There is a limit of 10000 iterations to guard against accidental loops, after that an exception is raised.
28 p TODO make the limit of 10000 iterations configurable and an optional parameter of the loadMTree function.
29 p Format:
30 ittf
31 - ...
32 - $while jswizzi-expression
33 - ... node branch ...
34 - $ jswizzi-exit-condition-change
35 h3 $break, $continue repeat node commands
36 p This statements have the same meaning than in javascript but operate
37 + breaking or continuing the template repetition.
38 p A label for continuation is not implemented.
39 p Format:
40 ittf
41 - ...
42 - $foreach ... | $while ...
43 - $break empty-value
44 - ...
45 - $continue empty-value

/src/ittf/models/docs/t/docs/mtree/js-wizzi.docs.ittf

    
1 concept JsWizzi
2 summary
3 p JsWizzi is a subset of the ECMA-262 javascript standard used by
4 + the wizzi factory for processing ittf documents and buildup mTrees.
5 + JsWizzi is built on the quite efficent <a href="http://esprima.org/">esprima</a> parsing infrastructure
6 + and is run by a custom javascript engine (JsWizziRunner).
7 p Ittf documents may contain Js-Wizzi statements in
8 ul
9 li The value part of domain nodes (ittf node values are interpolated)
10 ittf
11 - caption ${dollar}{ name.capitalize() }
12 li Conditional expression of $if, $elif, $while command nodes
13 ittf
14 - $if name.substring(1,2) === 'is'
15 li Collection name of $foreach command node
16 ittf
17 - $foreach item in model.getCollection('alfa')
18 li Body of $ and $global command nodes
19 ittf
20 - $ var beta = 100
21 p Sample JsWizzi expressions and statements.
22 ittf
23 - ul
24 - $ var i = 0;
25 - $while i < 10
26 - li counting ${dollar}{i}
27 - $ i++;
28 p The esprima syntax tree format is expected to be compatible
29 + with the Mozilla SpiderMonkey Parser API.
30 ul Node types implemented by JsWizzi:
31 li VariableDeclaration
32 li Statements
33 ul
34 li EmptyStatement
35 li ExpressionStatement
36 li IfStatement
37 li WhileStatement
38 li DoWhileStatement
39 li ForStatement
40 li ForInStatement
41 li BreakStatement
42 li ContinueStatement
43 li ReturnStatement
44 li TODO SwitchStatement
45 li Expressions
46 ul
47 li UnaryExpression: !
48 li BinaryExpression: +. -, *, /, ==, ===, !=, !==, >=, >, <=, <
49 li UpdateExpressions: ++, --
50 li LogicalExpression: &&, ||
51 li ConditionalExpression: test ? consequent : alternate
52 li CallExpression
53 li MemberExpression
54 li AssignmentExpression: =, *=, /=, %=, +=, -=, <<=, >>=, >>>=, &=, ^=, |=
55 li ArrayExpression
56 li ObjectExpression
57 li FunctionCall
58 li FunctionDeclaration
59 div Simple function declaration. No prototypes. No function
60 + objects; functions cannot be built by code and used like objects.

/src/ittf/models/docs/t/docs/mtree/pathresolution.docs.ittf

    
1 concept Path resolution of composed documents
2 summary
3 p The path resolution algoritm for retrieving mixed and included ittf documents starts from the
4 + composer node.
5 + The folder uri, of the ittf document containing the composer node, gives the base path.
6 + The name of the composed document gives the relative path.
7 p At first is searched the path resulting from joining base and relative path using the
8 + nodejs function path.resolve(...).
9 p If this match fails, then the 't' folder rule is applied, starting from the base path
10 + and going down one step first, and then going up on the folder tree. The rule is
11 + the same followed by nodejs to locate packages. The wizzi factory uses
12 + folders named 't' as nodejs uses folders named 'node_modules'.
13 p The search for a composed document proceeds as follow:
14 ul
15 li search path.resolve(base-path, relative-path)
16 li search path.resolve(base-path, 't', relative-path)
17 li search path.resolve(path.dirname(base-path), 't', relative-path)
18 li search path.resolve(path.dirname(path.dirname(base-path)), 't', relative-path)
19 li ...
20 p until the document is found or the base-path of the wizzi factory repository, declared
21 + in the config file, is reached. In the last case the search fails and we
22 + have an IttfNotFound error.
23 p Example. Given this folder structure
24 ittf
25 - folder-a
26 - t
27 - layouts
28 - site-layout.html.ittf
29 - folder-a1
30 - t
31 - dialog.html.ittf
32 - my-home-page.html.ittf
33 p The ittf document my-home-page.html.ittf could contain these two composition node commands:
34 ittf
35 - layouts/site-layout( home )
36 - $include dialog( )
37 p For both commands the base-path is 'folder-a/folder-a1'.
38 p For the include node command the relative path is 'dialog.html.ittf' and the
39 p document is found by: path.resolve(base-path, 't', relative-path).
40 p For the mixin inclusion node command the relative path is 'layouts/site-layout' and the
41 p document is found by: path.resolve(path.dirname(base-path), 't', relative-path).

/src/ittf/models/docs/t/docs/mtree/xml-comparision.docs.ittf

    
1 concept Xml documents comparision
2 summary
3 h4 Content model
4 p XML differentiates two types: elements containing only
5 + element content (no character data) and mixed content
6 + (elements that may contain character data optionally
7 + interspersed with child elements).
8 p Ittf documents have no mixed content. They have ittf nodes only.
9 + They do not have the concept of element or attribute or
10 + text.
11 p Only the application of a wizzi schema to an mTree, loading a wizzi model,
12 + can trasform an ittf node in an element or attribute or text, depending
13 + on the schema specification.
14 h4 Document types and document type definitions
15 p A wizzi schema is actually a documemnt type definition, but it applies to loaded mTrees
16 + not to ittf documents. Ittf documents creators must design their
17 + documents to obtain a valid mTree after composition and evaluation,
18 + just before loading it in a wizzi model.
19 p An ittf document, when created for composing an mTree for a specific wizzi schema,
20 + can be considered to have the type of that wizzi schema. The type of an
21 + ittf document must be recognizable from its name, that must end with
22 + '.`schema`.ittf'. Example of ittf document of type 'js': 'index.js.ittf'.
23 h4 Markup declaration and markup model
24 p In XML a markup declaration is a syntactical construct within a DTD declaring
25 + an entity or defining a markup structure.
26 p Wizzi schemas do not need to declare entities, because ittf document can contain
27 + expressions and template commands. But, like DTDs, they declare elements and
28 + attributes structure, and like DTDs the define a model (wizzi model) of
29 + an mTree content.
30 p In the wizzi factory, wizzi models are not just a concept, but also a
31 + concrete javascript module, generated from a
32 + wizzi schema declaration, that can load
33 + valid mTrees, and may be used as a context object by: the mTree loader,
34 + model transformers and artifact generators.
35 h4 Elements and element types
36 p Wizzi schema elements and XML DTD element types have the same goal.
37 + Wizzi model elements are such only after the mTree loading of an ittf document.
38 + In ittf documents we have potential model elemnts.
39 h4 Valid characters
40 p Ittf documents accept any character. The wizzi factory ignores the content
41 + of documents and has no concept of data type.
42 + Are wizzi schemas that can constrain node names and values.
43 p When generating the javascript module that implements wizzi model types
44 + the names of classes and attributes are checked and invalid chars for
45 + javascript names are replaced with the '_' char. Class names colliding
46 + with javascript keywords are prefixed with the letter 'x'.

/src/ittf/models/docs/t/docs/plugins/api.docs.ittf

    
1 concept wizzi-plugin.factoryPlugin API
2 summary
3 p This api must be implemented by any wizzi plugin.
4 p The methods of the api will be called by the wizzi.pluginsManager instance class
5 + on requests received by the wizzi.wizziFactory instance class.
6 ittf
7 -
8 - #
9 - # Retrieve a wizzi model factory by its schema name
10 - # Searching in this wizzi package. No search up in "node_modules" folders.
11 - m getModelFactory
12 - string schemaName
13 - ...
14 -
15 - #
16 - # Retrieve a model transformer by its name
17 - # Searching in this wizzi package. No search up in "node_modules" folders.
18 - m getModelTransformer
19 - string transformerName
20 - ...
21 -
22 - #
23 - # Retrieve an artifact generator by its name
24 - # Searching in this wizzi package. No search up in "node_modules" folders.
25 - m getArtifactGenerator
26 - string generationName
27 -
28 - #
29 - # Retrieve a wizzi schema definition in JSON format
30 - # Searching in this wizzi package. No search up in "node_modules" folders.
31 - m getSchemaDefinition
32 - string schemaName
33 h4 Api of the object returned by getModelFactory
34 p This api will be requested to the wizzi.pluginsManager from the
35 + wizzi.wizziFactory when a client requires to load a wizzi nodel of a
36 + given schema. It will be the wizzi.wizziFactory to call the 'createLoadModel'
37 + and the 'loadModel' functions and not the client code.
38 ittf
39 - {
40 - func createLoadModel
41 - # HOF : returns the loadModel function for the given factory
42 - { wizziObject
43 - func loadMTree
44 - api-ref wizzi-mtree.loader.loadMTree
45 - # This function is prepared by the wizzi.wizziFactory instance class
46 - # and has repository access functions and load options in its closure.
47 - { file
48 - api-ref wizzi.util.file
49 - { errors
50 - api-ref wizzi.errors
51 - ...
52 - return
53 - func loadModel
54 - # This returned function require a complex 'loadContext'
55 - # parameter with a lot of interfaces passed.
56 - # It will be called by the wizzi.wizziFactory instance and
57 - # not directly from client code.
58 - string ittfDocumentUri
59 - # The path to the primary ittf document from which
60 - # the mTree will be loaded
61 - { loadContext
62 - { __productionManager
63 - api-ref wizzi.production.productionManager
64 - { productionContext
65 - api-ref wizzi.production.productionContext
66 - { aclstat
67 - api-ref wizzi.production.aclstat
68 - { __ittfDocumentStore
69 - api-ref wizzi-repo.ittfDocumentStore
70 - { mTreeBuildUpContext
71 - optional
72 - | api-ref wizzi-plugin.wizziModel
73 - | POJO
74 - callback
75 h4 Api of the object returned by getModelTransformer
76 ittf
77 - {
78 - func trans
79 - { model
80 - | api-ref wizzi-plugin.wizziModel
81 - | POJO
82 - { ctx
83 - api-ref wizzi.artifact.genContext
84 - callback
85 h4 Api of the object returned by getArtifactGenerator
86 ittf
87 - {
88 - func gen
89 - { model
90 - | api-ref wizzi-plugin.wizziModel
91 - | POJO
92 - { ctx
93 - api-ref wizzi.artifact.genContext
94 - callback
95 h4 Api of the object returned by getSchemaDefinition
96 p The object returned is a json representation of the
97 + requested schema.

/src/ittf/models/docs/t/docs/plugins/architect.docs.ittf

    
1 concept Plugin management
2 summary
3 p The wizzi factory uses a class instance that implements the
4 + wizzi.pluginsManager api to resolve and load plugin packages or files.
5 p Wizzi plugins can be nodejs packages installed locally or globally or can be
6 + folders in a package that makes a private use of them.
7 p Plugins to be used by an instance of the wizzi.WizziFactory class must be
8 + requested at initialization time and cannot be changed later.
9 + A new instance of the factory must be created to use a different
10 + configuration of plugins.
11 p This is the api of the wizzi.WizziFactory.initialize method.
12 ittf
13 - ...
14 - m initialize
15 - { options
16 - { repo
17 - ...
18 - { plugins
19 - [ items
20 - string pluginNameOrFile
21 - string pluginsBaseFolder
22 - default process.cwd()
23 - { test
24 - ...
25 p The 'items' property of the 'options.plugins' object is an array of:
26 ul
27 li Package names, when plugins are contained in npm installed nodejs packages
28 li Relative paths to plugins index module, when plugins are contained
29 + in private folders.
30 span In the case of relative paths the property 'pluginsBaseFolder'
31 + of the 'options.plugins' object must contains the base folder of
32 + plugins index modules.

/src/ittf/models/docs/t/docs/plugins/index.docs.ittf

    
1 $group
2 concept Plugins
3 summary
4 p The wizzi factory is a pluggable artifact generation framework
5 + fully implemented by plugins.
6 p Kernel modules themself have a
7 + pluggable architecture. The wizzi-mtree package is a plugin
8 + that implements an api for building tree structures from documents.
9 + Repositories of source ittf documents are plugins that implement
10 + an api for locating and retrieving documents.
11 p In this section we will focus on the wizzi plugins that implement
12 + modeling and artifact generation.
13 p A wizzi plugin exposes to the wizzi factory:
14 ul
15 li wizzi schemas and relative factories of wizzi models;
16 li model transformers;
17 li artifact generators.
18 h4 A plugin package must export the method 'createFactoryPlugin'
19 ittf
20 - set module.exports
21 - {
22 - ...
23 - @ createFactoryPlugin
24 - function
25 - { wizziPackage
26 - { options
27 - [ items
28 - string pluginNameOrFile
29 - string pluginsBaseFolder
30 - default process.cwd()
31 - callback
32 - ...
33 - return
34 - _ callback
35 - { factoryPlugin
36 - api-ref wizzi-plugin.factoryPlugin
37 p The FactoryPlugin class instance returned to the caller
38 + must implement the wizzi-plugin.factoryPlugin API (see below).
39 p A wizzi plugin should have a standard folder structure like this one:
40 ittf
41 - ...
42 - `package-name`
43 - lib
44 - artifacts
45 - `schema-name`
46 - `artifact-name`
47 - gen
48 - main.js
49 - ...
50 - `transformer-name`
51 - trans
52 - main.js
53 - ...
54 - ...
55 - utils
56 - ...
57 - wizzi
58 - models
59 - `schema-name`-model.g.js
60 - `schema-name`-factory.g.js
61 - `schema-name`-schema.g.html
62 - `schema-name`-schema.g.json
63 - ...
64 - schemas
65 - `schema-name`.wfschema.ittf
66 - ...
67 - index.js
68 p In this way modules can be located given the short public name of
69 + the required objects.
70 $include ./architect
71 $include ./api

/src/ittf/models/docs/t/docs/repo/index.docs.ittf

    
1 concept Wizzi repository management
2 summary

/src/ittf/models/docs/t/docs/samples/t/ittfstatements/$.ittfstatement.docs.ittf

    
1 $group
2 sample
3 summary
4 p One can declare context values inside an Ittf document and/or manipulate
5 + them using Ittf expressions. Context manipulation statements may be
6 + single or multi node. The single node format is:
7 ittf
8 -
9 - $ var counter = 0
10 -
11 p The multi node format is:
12 ittf
13 -
14 -
15 - var x = {};
16 - x.value = 10;
17 -
18 p
19 ittf my.html.ittf
20 kind primary
21 - div
22 - $ var myFriends = "Steve,Annie,John".split(",")
23 - ul
24 - li hello ${dollar}{myFriends[0]}
25 - li hello ${dollar}{myFriends[1]}
26 - li hello ${dollar}{myFriends[2]}
27 $include wfschema.html.sample

/src/ittf/models/docs/t/docs/samples/t/ittfstatements/$dot.ittfstatement.docs.ittf

    
1 $group
2 sample $.
3 summary
4 p A node value that contain many lines of text may be declared
5 + using the $. statement.
6 + Child nodes of the statement becames lines separated by the LF character
7 + in a text string that is set in the node value.
8 ittf
9 kind primary
10 -
11 - style
12 - $.
13 - .main {
14 - color: red;
15 - background: yellow;
16 - }
17 -
18 $include wfschema.html.sample

/src/ittf/models/docs/t/docs/samples/t/ittfstatements/$foreach.ittfstatement.docs.ittf

    
1 $group
2 sample $foreach
3 summary
4 p The $foreach statements repeats the processing of child nodes for each
5 + element in a context value of type array. The format is:
6 ittf
7 -
8 - $foreach item-name in collection
9 - .. child nodes
10 -
11 p item-name is the variable name that will be assigned to the collection item, collection is
12 + the name of an array that must exist in the Ittf loader context.
13 ittf my.html.ittf
14 kind primary
15 - div
16 - ul
17 - $foreach item in products
18 - li ${dollar}{item.name}
19 $include wfschema.html.sample

/src/ittf/models/docs/t/docs/samples/t/ittfstatements/$global.ittfstatement.docs.ittf

    
1 $group
2 sample $global
3 summary
4 p Context values declared inside an Ittf document using the $ statement are
5 + local to the document. To make them global you must declare them
6 + using the $global statement insted of $. The syntax is the same.
7 + Single node ...
8 ittf
9 -
10 - $global var counter = 0
11 -
12 p ... and multi node ...
13 ittf
14 -
15 - $global
16 - var x = {};
17 - x.value = 10;
18 -
19 p
20 ittf my.html.ittf
21 kind primary
22 - div
23 - $ var myFriends = 'Steve,Annie,John'.split(',')
24 - ul
25 - li hello ${dollar}{myFriends[0]}
26 - li hello ${dollar}{myFriends[1]}
27 - li hello ${dollar}{myFriends[2]}
28 $include wfschema.html.sample

/src/ittf/models/docs/t/docs/samples/t/ittfstatements/$group.ittfstatement.docs.ittf

    
1 $group
2 sample $group
3 summary
4 p The $group statements is a node that will not be processed. Is used to give
5 + a unique root node to Ittf document with more than one root node.
6 ittf my.html.ittf
7 kind primary
8 - $group
9 - $params &names
10 - div
11 - span hello ${dollar}{names[0]}
12 - div
13 - span hello ${dollar}{names[1]}
14 $include wfschema.html.sample

/src/ittf/models/docs/t/docs/samples/t/ittfstatements/$if.ittfstatement.docs.ittf

    
1 $group
2 sample $if
3 summary
4 p The $if, $elif and $else statements allow conditional inclunsion/exclusion
5 + of nodes. The format is:
6 ittf
7 -
8 - $if ittf-expression
9 - .. child nodes
10 - $elif ittf-expression
11 - .. child nodes
12 - $else
13 - .. child nodes
14 -
15 p $if and $elif child nodes will be included in the Ittf model if ittf-expression is true,
16 + while $else child nodes will be included if ittf-expression is false.
17 ittf my.html.ittf
18 kind primary
19 - div
20 -
21 - var alpha = 10
22 - ul
23 - $if alpha < 5
24 - li hello down
25 - $else
26 - li hello up
27 $include wfschema.html.sample

/src/ittf/models/docs/t/docs/samples/t/ittfstatements/comments.ittfstatement.docs.ittf

    
1 $group
2 sample Comments: ${dollar}${dollar} and ${dollar}* .. *${dollar}
3 summary
4 p A double dollar, ${dollar}${dollar}, comments out a node until end of line.
5 p ${dollar}* .. any text .. *${dollar} comments out any text on one node or a node branch.
6 ittf my.html.ittf
7 kind primary
8 - div
9 - $ var myFriends = 'Steve,Annie,John'.split(',')
10 - ul
11 - li hello ${dollar}{myFriends[0]}
12 - ${dollar}${dollar} li hello ${dollar}{myFriends[1]}
13 - li hello ${dollar}{myFriends[2]}
14 - ${dollar}* div
15 - a wizzifactory
16 - href http://wizzifactory.org
17 - *${dollar}
18 $include wfschema.html.sample

/src/ittf/models/docs/t/docs/samples/t/ittfstatements/mixincall.ittfstatement.docs.ittf

    
1 $group
2 sample mixin call
3 summary
4 p A mixin call is an Ittf statement that the loader recognizes because a
5 + node name ends with an open paren. You can declare single node mixin calls:
6 ittf
7 -
8 - ui/dialog( title, &data )
9 -
10 p
11 p or multi node calls:
12 ittf
13 -
14 - ui/control(
15 - $param id name
16 - $param type input
17 - $param label Your name
18 -
19 p
20 p Arguments in a single node call must be comma separated. The closing paren is optional
21 + in both cases.
22 ittf my.html.ittf
23 kind primary
24 - div
25 - $ var myFriends = 'Steve,Annie,John'.split(',')
26 - ul
27 - li hello ${dollar}{myFriends[0]}
28 - ${dollar}${dollar} li hello ${dollar}{myFriends[1]}
29 - li hello ${dollar}{myFriends[2]}
30 - ${dollar}* div
31 - a wizzifactory
32 - href http://wizzifactory.org
33 - *${dollar}
34 $include wfschema.html.sample

/src/ittf/models/docs/t/docs/samples/t/mixins/basic.mixin.docs.ittf

    
1 $group
2 sample Basic
3 summary
4 ittf mydb.rdbms.ittf
5 kind primary
6 - table
7 - primaryKey( id )
8 - column( id, string, Id )
9 - column( id, guid, Id )
10 ittf t/column.rdbms.ittf
11 kind mixin
12 - column ${dollar}{name}
13 - $params name, type, label
14 - type ${dollar}{name}
15 - label ${dollar}{label}
16 ittf t/primaryKey.rdbms.ittf
17 kind mixin
18 - index ${dollar}{name}_PK
19 - is-primary
20 - column ${dollar}{name}
21 $include wfschema.rdbms.sample

/src/ittf/models/docs/t/docs/samples/t/mixins/hook.mixin.docs.ittf

    
1 $group
2 sample Hook
3 summary
4 p When calling mixins, the child nodes of the calling node by default
5 + are appendend to the root node of the mixin. If you need an
6 + insertion point deeper into the mixin tree, you my declare
7 + a mixin node with name $hook, that will be replaced with
8 + the child nodes of the mixin call statement.
9 ittf mypage.html.ittf
10 kind primary
11 - layout( home )
12 - h2 Hello
13 ittf t/layout.html.ittf
14 kind mixin
15 - html
16 - $params page
17 - head
18 - body
19 - nav
20 - a Home
21 - $if page = 'home'
22 - class active
23 - href /
24 - a Services
25 - $if page = 'services'
26 - class active
27 - href /services
28 - $hook default
29 $include wfschema.rdbms.sample

/src/ittf/models/docs/t/docs/samples/t/mixins/scope.mixin.docs.ittf

    
1 $group
2 sample Scope
3 summary
4 ittf mypage.html.ittf
5 kind primary
6 - layout ( )
7 - h2 Hello
8 ittf t/layout.html.ittf
9 kind mixin
10 - html
11 - head
12 - body
13 - $hook default
14 ittf t/nav.html.ittf
15 kind mixin
16 - nav
17 - a Home
18 - href /
19 - a Services
20 - href /services
21 - a Contact
22 - href /contact
23 $include wfschema.rdbms.sample

/src/ittf/models/docs/t/docs/samples/t/wfschema.html.sample.docs.ittf

    
1 ittf schemas/html.wfschema.ittf
2 kind schema
3 summary
4 - wfschema html
5 - e html
6 - r element/s
7 - e element
8 - a id
9 - a name
10 - a class
11 - r element/s
12 - e html : element
13 - e head : element
14 - e body : element
15 - e div : element
16 - e ul : element
17 - e li : element

/src/ittf/models/docs/t/docs/samples/t/wfschema.rdbms.sample.docs.ittf

    
1 ittf schemas/rdbms.wfschema.ittf
2 kind schema
3 summary
4 - wfschema rdbms
5 - e rdbms
6 - r table/s
7 - e table
8 - r column/s
9 - r index/es
10 - e column
11 - a type
12 - default string
13 - restrict
14 - enum string
15 - enum boolean
16 - enum integer
17 - enum float
18 - enum date
19 - a label
20 - e index
21 - a isPrimary
22 - tag is-primary
23 - type boolean
24 - r column/s

/src/ittf/models/docs/t/docs/samples/ittfstatements.docs.ittf

    
1 sample-group Ittf statements
2 $include ittfstatements/$.ittfstatement
3 $include ittfstatements/$global.ittfstatement
4 $include ittfstatements/$if.ittfstatement
5 $include ittfstatements/$foreach.ittfstatement
6 $include ittfstatements/mixincall.ittfstatement
7 $include ittfstatements/$group.ittfstatement
8 $include ittfstatements/$dot.ittfstatement
9 $include ittfstatements/comments.ittfstatement

/src/ittf/models/docs/t/docs/samples/mixin.docs.ittf

    
1 sample-group Mixins
2 $ var ip = '
3 $include mixins/basic.mixin
4 $include mixins/hook.mixin
5 $include mixins/scope.mixin

/src/ittf/models/docs/t/docs/schema/index.docs.ittf

    
1 concept Wizzi schema
2 summary
3 p A wizzi schema describes a valid tree structure for mTrees
4 + of a specific domain of interest.
5 + It is the core modeling tool of the wizzi factory.
6 p Schemas are modeled using ittf documents like any other wizzi model.
7 h4 Sample 'rdbms' wizzi schema
8 ittf
9 - wfschema rdbms
10 - e catalog
11 - r table/s
12 - e table
13 - r column/s
14 - r index/es
15 - e column
16 - a type
17 - a caption
18 - a defaultValue
19 - tag default
20 - e index
21 - a primary
22 - type boolean
23 - a unique
24 - type boolean
25 - r column/s
26 h4 Sample ittf document conformant to the 'rdbms' wfschema that may be loaded in a 'rdbms' wizzi model.
27 ittf
28 - rdbms School
29 - table Student
30 - column Id
31 - type integer
32 - column Name
33 - type string
34 - index Student-PK
35 - primary true
36 - column Id
37 - table Course
38 - column Id
39 - type integer
40 - column Title
41 - type string
42 - index Student-PK
43 - primary true
44 - column Id
45 p Wizzi schemas are wizzi models of type 'wfschema'
46 + implemented by the wizzi-core plugin.

/src/ittf/models/docs/t/docs/schema/ittf.docs.ittf

    
1 concept Ittf pseudo schema
2 summary
3 p Using the ittf pseudo schema may increases the plasticity of a generation
4 + process.
5 p We can load complex untyped ittf documents
6 + into an mTree and obtain as a result an in-memory simple tree structure
7 + of nodes with a name, a value and a childs collection, that can generate
8 + a new ittf document.
9 p We can chain complex mTrees buildups until we get the final ittf document
10 + to load into a wizzi model for artifact generation.

/src/ittf/models/docs/t/docs/schema/json.docs.ittf

    
1 concept Json pseudo schema
2 summary
3 h4 Sample json ittf document
4 ittf
5 - {
6 - name "v3-docs"
7 - version "0.0.1"
8 - description "Wizzi factory documentation."
9 - scripts
10 - {
11 - test "mocha tests/**/*.js"
12 - start "node index"
13 - dependencies
14 - {
15 - async "^2.4.0"
16 - json-stringify-safe "^5.0.1"
17 - ...
18 - sampleArray
19 - [
20 - 'alfa'
21 - 'beta'
22 ul Coding rules
23 li The root node must be an open graph.
24 li Ittf node names may contain
25 ul
26 li Property names.
27 li Open graph for start of object.
28 li Open bracket for start of array.
29 li Array elements primitive values.
30 li Ittf node values must contain property values when the node name is
31 + a property name, nothing in the other cases.
32 p ( It is assumed that one knows
33 a json format rules
34 href http://www.json.org/
35 span )

/src/ittf/models/docs/t/docs/schema/pseudoschemas.docs.ittf

    
1 concept Internal schemas
2 summary
3 p There are some common document types that have great
4 + flexibility for the definition of context data, and
5 + would be usefull to apply to those documents
6 + the templating power of mTrees without the hassle
7 + of a wizzi schema.
8 ul
9 li Text
10 li Xml
11 li Json
12 li Ittf itself.
13 p Respecting a few coding rules these type of documents can be built
14 + using the composition and template commands of ittf documents.
15 p The production manager of the wizzi factory recognizes
16 + the following internal schemas
17 ul
18 li text
19 li xml
20 li json
21 li ittf
22 p A wizzi job or a an api call to the wizzi factory may use these schema
23 + names in any place where a wizzi schema can be used.

/src/ittf/models/docs/t/docs/schema/text.docs.ittf

    
1 concept Text pseudo schema
2 summary
3 p A text ittf document is a bit out of standard. It is
4 + a common text document that can break the rule of
5 + only one root node. It can use any node command or expression
6 + of an ittf document. A preprocessor transforms the text in
7 + a standard ittf tree structure. After the buildup of the mTree
8 + the 'text/document' artifact generator recreates the textual format.
9 h4 Example of text mixin for a license file
10 js
11 - $params copy, license
12 - MIT License
13 -
14 - Copyright (c) ${'$'}{copy}
15 -
16 - $if license === 'mit'
17 - $include mit_license_text
18 - $elif ...
19 h4 The mixin transformed by the prepocessor in a standard format
20 ittf
21 - text
22 - $params copy, license
23 - + MIT License
24 - +
25 - + Copyright (c) 2015 The Wizzi Team
26 - +
27 - $if license === 'mit'
28 - $include mit_license_text
29 - $elif ...

/src/ittf/models/docs/t/docs/schema/wfschema.docs.ittf

    
1 concept The 'wfschema' schema
2 summary
3 p The wfschema, implemented by the wizzi-core plugin,
4 + is the meta model of a wizzi schema.
5 + It models a wizzi schema with the same semantic with which
6 + a wizzi schema models a wizzi model.
7 p This documentation section has a circularity that may give
8 + an headache. It documents a schema that describe a schema
9 + using the same schema notation of the documented schema.
10 p Some hints may help.
11 ul
12 li A wizzi schema describes a model in terms of element types,
13 + with attributes, and relations between elements.
14 + Elements can extend super elements. Relations, that
15 + do not have attributes, can be of kind parent-children (one-to-many, the default)
16 + or parent-singlechild (one-to-one).
17 li Elements are described in a flat list. Relations hierarchy and
18 + element derivations are inferred from definitions.
19 li The root element can be declared using the element attribute 'isRoot'. If
20 + not declared the root element is the first of the list.
21 li Elements and attributes may have an optional tag attribute that defines a
22 + name alias shorter or with an easier mnemonic. wfschema examples:
23 ul
24 li 'e' for 'element'
25 li 'a' for 'attribute'
26 li 'r' for 'relation'
27 li Node names of mTree nodes simply map to an element or attribute tag (or name,
28 + if a tag is not declared).
29 ul The wfschema elements are
30 li wfschema
31 li exportTo
32 li require
33 li element
34 li attribute, string, boolean, integer, float, date
35 li relation
36 li restrict, enum, minLength, maxLength, minValue, maxValue, regexp
37 li method, function
38 li parameter
39 h3 wfschema element
40 p The root element of a 'wfschema'.
41 ittf
42 - e wfschema `name`
43 - r require/s
44 - r exportTo/s
45 - r element/s
46 h3 exportTo element
47 p An exportTo element causes the insertion in the wizzi model classes
48 + of the prototype functions for exporting the tree data structure of the model in
49 + the requested format
50 ul
51 li toJson()
52 li toXml()
53 p The entire wizzi model can be exported calling this methods on the root element.
54 ittf
55 - ...
56 - e export-to [json|xml]
57 h3 require element
58 p A wizzi model can contain user defined methods and functions,
59 + that could need to import objects from other modules. This element
60 + allow to insert require statements in the generated wizzi model module.
61 ittf
62 - e require `import-name`
63 - string declareVar `name`
64 - tag declare-var
65 - optional
66 - default `import-name`
67 - string invoke `invoke-string`
68 - optional
69 - string kind [module]
70 - # At now we have only one kind, and this attribute is superflous.
71 - # Other kinds could be added in the future.
72 - optional
73 - default module
74 p The generated statement is built in this way:
75 ittf
76 - var `declareVar` = require('`import-name`')[`invoke`]
77 p Example
78 ittf
79 - ...
80 - require wizzi-utils
81 - declare-var verify
82 - invoke .verify
83 - generates:
84 - var verify = require('wizzi-utils').verify
85 h3 Element element
86 p Describes an element type of the schema.
87 ittf
88 - e element `name` [: `super-element-name`]
89 - tag e
90 - string super `super-element-name`
91 - string tag `tag`
92 - string xmlTag `tag`
93 - tag xml-tag
94 - boolean isAbstract
95 - tag is-abstract
96 - default-when-declared true
97 - boolean isRoot
98 - tag is-root
99 - default-when-declared true
100 - boolean nameIsRequired
101 - tag name-is-required
102 - default-when-declared true
103 - boolean addToChildren
104 - tag add-to-children
105 - default-when-declared true
106 - r attribute/s
107 - r relation/s
108 - r method/s
109 h3 Relation element
110 ittf
111 - e relation `related-element-name`[-`plural-suffix-a`]/`plural-suffix-b`
112 - # Examples
113 - # r column/s (element: column, collection: columns)
114 - # r propert-y/ies (element: property, collection: properties)
115 - tag r
116 - boolean oneToOne
117 - tag one-to-one
118 - default-when-declared true
119 - boolean noGet
120 - tag no-get
121 - default-when-declared true
122 p Example:
123 ittf
124 - ...
125 - e table : dbitem
126 - r column/s
127 - r propert-y/ies
128 - r displayLayout
129 - one-to-one
130 p related-element-name plus the eventual plural-suffix-a must give the name of an
131 + element defined in the schema (that is the related element); in the
132 + example: column, property, displayLayout.
133 h3 attribute element
134 p Describes an attribute of an element
135 ittf
136 - e attribute `name`
137 - tag a
138 - string tag `tag`
139 - string xmlTag `tag`
140 - tag xml-tag
141 - string type [string|integer|float|boolean|date]
142 - default string
143 - string default `default-value`
144 - string defaultWhenDeclared `default-value`
145 - tag default-when-declared
146 - boolean isDatatype
147 - tag is-datatype
148 - default-when-declared true
149 - boolean isRequired
150 - tag is-required
151 - default-when-declared true
152 - r restrict/s
153 h3 string element
154 ittf
155 - e string `attribut-name` : attribute
156 h3 boolean element
157 ittf
158 - e boolean `attribut-name` : attribute
159 h3 integer element
160 ittf
161 - e integer `attribut-name` : attribute
162 h3 float element
163 ittf
164 - e float `attribut-name` : attribute
165 h3 date element
166 ittf
167 - e date `attribut-name` : attribute
168 h3 restrict element
169 ittf
170 - e restrict
171 - is-abstract
172 h3 enum element
173 ittf
174 - e enum `enum-value` : restrict
175 h3 maxLength element
176 ittf
177 - e maxLength `value` : restrict
178 - tag max-length
179 h3 minLength element
180 ittf
181 - e minLength `value` : restrict
182 - tag min-length
183 h3 maxValue element
184 ittf
185 - e maxValue `value` : restrict
186 - tag max-value
187 h3 minValue element
188 ittf
189 - e minValue `value` : restrict
190 - tag min-value
191 h3 regexp element
192 ittf
193 - e regexp `value` : restrict
194 h3 method element
195 p Declares a method that will be added to the element class.
196 + A method can access and manipulate the entire
197 + wizzi model, having access to the 'this.wzRoot()' method of the
198 + `schema-name`Base class.
199 ittf
200 - e method `name`
201 - tag m
202 - r param/s
203 - r statement/s
204 h3 param element
205 ittf
206 - e param `name`
207 h3 statement element
208 p The statement element uses a subset of the schema 'js'
209 + implemented by the plugin wizzi-js.
210 h3 function element
211 p Declares a method that will be added to the module
212 + and will be a private function for methods of the model instances.
213 ittf
214 - e function `name`
215 - tag m
216 - r param/s
217 - r statement/s

/src/ittf/models/docs/t/docs/schema/wizzi-model-type.docs.ittf

    
1 concept Wizzi model type
2 summary
3 p A WizziModelType is the javascript representation of a WizziSchema.
4 p Mapping of a WizziSchema to a WizziModelType
5 table
6 tr
7 td Require element
8 td javascript/jsnode require statement
9 tr
10 td Element element
11 td javascript pseudo-class
12 tr
13 td Super attribute
14 td javascript pseudo-inehritance.
15 tr
16 td Attribute element
17 td Property of a primitive type of the element pseudo-class
18 tr
19 td Restrict element
20 td Validation statements in the wzVerify method of the element pseudo-class
21 tr
22 td One-to-many Relation element
23 td javascript array of Right elements as a property of Left element pseudo-class
24 tr
25 td One-to-one Relation element
26 td javascript object of Right element as a property of Left element pseudo-class
27 tr
28 td Method element
29 td javascript function in the prototype of the element pseudo-class
30 tr
31 td ExportTo element
32 td javascript function in the prototype of the element pseudo-class
33 + that implements the export of the model instance
34 p WizziModelType pseudo-classes are instantiated by the WizziModelFactory during
35 + a WizziModelLoading.

/src/ittf/models/docs/t/docs/schema/xml.docs.ittf

    
1 concept Xml pseudo schema
2 summary
3 h4 Sample xml ittf document
4 ittf
5 - profile
6 - @ name ${dollar}{user.name}
7 - @ age ${dollar}{user.age}
8 - friends
9 - $foreach friend in user.friends
10 - friend
11 - @ name ${dollar}{friend.name}
12 - @ age ${dollar}{friend.age}
13 - address
14 - @ street ${dollar}{user.street}
15 - @ city ${dollar}{user.city}
16 ul Rules
17 li Ittf node names may contain
18 ul
19 li element names for elements
20 li simbol @ for attributes
21 li Ittf node values may contain
22 ul
23 li nothing for elements
24 li name and value separated by a blank for attributes
25 p ( It is assumed that one knows
26 a xml format rules
27 href https://google.github.io/styleguide/xmlstyle.html
28 span )

/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/artifact-generation.docs.ittf

    
1 concept Artifact generation
2 summary
3 p The Wizzi Factory uses three kinds of artifact generators.
4 ul
5 li IttfTemplates
6 li SwigTemplates
7 li CodeWriters
8 p IttfTemplates are IttfDocuments conformants to a LanguageWizziSchema (js, html, css, ...).
9 p SwigTemplates are text documents that will be transformed using the <a href="http://paularmstrong.github.io/swig/">swig</a>
10 + template engine.
11 p CodeWriters are node.js modules that generate an artifact by code.

/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/codewrite.docs.ittf

    
1 concept Code write artifact
2 summary
3 p An artifact using the code write method has no template.
4 p The ArtifactGenerator exposed to the Wizzi Factory is a node.js module
5 + that contains the statements for generating the artifact writing
6 + its content into the ArtifactGenerationContext that is passed to the ArtifactGenerator
7 + as a parameter by the ProductionManager.
8 p The CodeWriteArtifact module must be named main.js and must have
9 + this location in the WizziFactoryPackage:
10 ittf
11 - node_modules
12 - <package-name>
13 - lib
14 - artifacts
15 - <wfschema-name>
16 - <artifact-name>
17 - gen
18 - main.js
19 p The path <wfschema-name>/<artifact-name> must be unique in the Wizzi Factory
20 + and is the value to be declared in the generator attribute of the artifact element
21 + of a wfjob document.
22 p For example
23 ittf
24 - wfjob job-name
25 -
26 - line line-name
27 - artifact artifact-name
28 - ...
29 - generator <wfschema-name>/<artifact-name>
30 - ...
31 p A sample code-write artifact generator:
32 js
33 -
34 - var md = module.exports = {};
35 - var myname = 'rdbms.mongodbtableschema.main';
36 - /*
37 - parameters
38 - model: a model instance of schema 'rdbms'
39 - ctx: an artifact generation context instance
40 - */
41 - md.gen = function (model, ctx) {
42 - model.tables.forEach(function (table) {
43 -
44 - // write statements using the ctx object write functions
45 - ctx.w('...') // write with line feed
46 - ctx.write('...') // write without line feed
47 - ctx.a('VARNAME', value) // declare a context variable
48 - ctx.w('xxx {VARNAME}(yyy)') // write with line feed and interpolation
49 - });
50 - }
51 p See the specification of the ArtifactGenerationContext passed to the CodeWriteArtifact.

/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/ittftemplate.docs.ittf

    
1 concept IttfTemplate artifact
2 summary
3 p An artifact using the IttfTemplate method has
4 + a template that is an IttfDocument conformant to a LanguageWizziSchema.
5 p For example a js WizziSchema template:
6 ittf
7 -
8 - $foreach table in rdbms.tables
9 - class ${dollar}{table.name}
10 - super TableObject
11 - ctor
12 - $foreach column in table.columns
13 - set this.${dollar}{column.name} = ${dollar}{column.default}
14 p The artifact generator exposed to the Wizzi Factory must be a node.js module
15 + named main.js.
16 p The CodeWriteArtifact module and the IttfDocument must must have
17 + this location in the WizziFactoryPackage:
18 ittf
19 - node_modules
20 - <package-name>
21 - lib
22 - artifacts
23 - <wfschema-name>
24 - <artifact-name>
25 - gen
26 - ittf
27 - ittfdocument-name.<language-wizzi-schema>.ittf
28 - main.js
29 p The path <wfschema-name>/<artifact-name> must be unique in the Wizzi Factory
30 + and is the value to be declared in the generator attribute of the artifact element
31 + of a wfjob document.
32 p For example:
33 ittf
34 - wfjob job-name
35 -
36 - line line-name
37 - artifact artifact-name
38 - ...
39 - generator <wfschema-name>/<artifact-name>
40 - ...
41 p A sample IttfTemplateArtifact node.js code:
42 js
43 -
44 - var util = require('util');
45 - var path = require('path');
46 - var yyyWizziPackage = require('yyyWizziPackage');
47 - var jsModuleGenerator = yyyWizziPackage.getArtifactGenerator('js/module');
48 - var md = module.exports = {};
49 - var myname = 'rdbms.mongodbtableschema.main';
50 - /*
51 - parameters
52 - model: a WizziModelInstance of schema 'rdbms'
53 - ctx: an ArtifactGenerationContext instance
54 - */
55 - md.gen = function (model, ctx) {
56 - var ittfPath = path.join(__dirname, 'ittf', 'xxx.js.ittf');
57 - jsModuleGenerator(ittfPath, {
58 - schema: model,
59 - }, function(err, result) {
60 - if (err) { throw new Error(err); }
61 - ctx.w(result);
62 - });
63 - }
64 p See the specification of the ArtifactGenerationContext passed to the CodeWriteArtifact.

/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/production.docs.ittf

    
1 concept Wizzi Factory Production
2 id WizziFactoryProduction
3 summary
4 p A WizziFactoryProduction is an action that is part
5 + of a WizziFactoryJob and produces one Software Artifact
6 + or one transformed WizziModelInstance.
7 p To make productions work WizziFactoryPackages

/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/swigtemplate.docs.ittf

    
1 concept SwigTemplate artifact
2 summary
3 p An artifact using the SwigTemplate method
4 + is a text document that will be processed by the <a href="http://paularmstrong.github.io/swig/">swig</a>
5 + template engine.
6 p For example:
7 js
8 -
9 - {% for table in rdbms.tables %}
10 - function {{table.name}}() {
11 - {% for column in table.columns %}
12 - this.{{column.name}} = {{column.default}};
13 - {% endfor %}
14 - }
15 - util.inherit({{table.name}}, TableObject);
16 - {% endfor %}
17 p The artifact generation from a swig template is built-in in the Wizzi Factory
18 + and do not require a node.js module.
19 p To declare a SwigTemplateArtifact in a wfjob document
20 + the generator attribute of the artifact element must have value 'swig'
21 p For example:
22 ittf
23 - wfjob job-name
24 -
25 - line line-name
26 - artifact artifact-name
27 - ...
28 - generator swig
29 - ...

/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/wizzi-model-loading.docs.ittf

    
1 concept Wizzi model loading
2 summary
3 p WizziModelLoading is the action that instantiate and load a
4 + WizziModelInstance from a source IttfDocument and a
5 + context data object on request of the ProductionManager.
6 h3 CodeWriteArtifactGeneration
7 p Uses a nodejs module to create the Software Artifact by code.
8 h3 WizziLanguageSchemaArtifactGeneration
9 p Uses a WizziLanguageSchema to create SoftwareArtifactsTemplates
10 + composed by IttfDocuments.
11 h3 API
12 p Both artifact generation techniques must expose the same interface to the
13 + Wizzi Factory.
14 p ArtifactGenerators are packaged in nodejs/npm packages.
15 ul The index must expose the functions:
16 li getWizziModelFactory(wizziSchemaName)
17 li getArtifactGenerator(artifactPath)
18 li getModelTransformer(transformerPath)
19 div WizziModelFactories are nodejs modules generated by the WizziModelProduction
20 div They must be located at:
21 div node_modules/package-name/lib/wizzi/models/wizzi-schema-name-model.g.js
22 div Artifacts must be jsnode modules with the following name:
23 div node_modules/package-name/lib/artifacts/wizzi-schema-name/artifact-name/gen/main.js
24 div ModelTransformers must be jsnode modules with the following name:
25 div node_modules/package-name/lib/artifacts/wizzi-schema-name/transformer-name/trans/main.js
26 ul Where package-name, wizzi-schema-name, artifact-name must be replaced with their context value.

/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/wizzi-model-transformation.docs.ittf

    
1 concept Wizzi model transformer
2 summary
3 p Wizzi Factory model transformers are node.js modules with a specific
4 + interface.
5 p WizziModelTransformer sample:
6 js
7 -
8 - var error = require('wizzi-core').error;
9 - var md = module.exports = {};
10 - var myname = 'model.transformer.xxx.main';
11 - md.trans = function(model, ctx, callback) {
12 - if (model.wzElement != 'xxx') {
13 - errors.NodeError(myname + '.gen. Model wzElement must be xxx. Found: ' + model.wzElement, model);
14 - }
15 - var __result = {};
16 - ...
17 - // transformation statements
18 - ...
19 - callback(null, __result);
20 - };
21 p A WizziModelTransformer must have
22 + this location in the WizziFactoryPackage:
23 ittf
24 - node_modules
25 - <package-name>
26 - lib
27 - artifacts
28 - <wfschema-name>
29 - <transformer-name>
30 - trans
31 - main.js
32 p The path <wfschema-name>/<transformer-name> must be unique in the Wizzi Factory
33 + and is the value to be declared in the transformer attribute of the model-ref element
34 + of a wfjob document.
35 p For example:
36 ittf
37 - wfjob job-name
38 -
39 - line line-name
40 - artifact artifact-name
41 - ...
42 - model-ref model-name
43 - transformer transformer-path
44 - ...

/src/ittf/models/docs/t/docs/wizzi-factory/structure/package.docs.ittf

    
1 concept Wizzi Factory Package
2 id WizziFactoryPackage
3 summary
4 p ArtifactProductions are packaged in node.js/npm modules
5 + containing:
6 ul
7 li WizziSchemas
8 li WizziModelTypes
9 li WizziModelFactories
10 li WizziModelTransformers
11 li ArtifactGenerators
12 p A WizziFactoryPackage has a standard folder structure
13 ittf
14 - node_modules
15 - <package-name>
16 - lib
17 - artifacts
18 - <wfschema-name>
19 - <artifact-name>
20 - gen
21 - ittf
22 - [0..n]<ittfdocument-name>.<language-wizzi-schema>.ittf
23 - main.js
24 - [0..n]<helper-module>.js
25 - <transformer-name>
26 - trans
27 - main.js
28 - [0..n]<helper-module>.js
29 - wizzi
30 - models
31 - <wfschema-name>-model.js
32 - <wfschema-name>-factory.js
33 - schemas
34 - <wfschema-name>.wfschema.ittf
35 - index.js
36 p The index.js module of the package exports the functions:
37 li getWizziModelFactory(wizziSchemaName)
38 li getModelTransformer(transformerPath)
39 li getArtifactGenerator(artifactPath)

/src/ittf/models/docs/t/docs/wizzi-factory/structure/production-manager.docs.ittf

    
1 concept ProductionManager
2 id ProductionManager
3 summary
4 p The ProductionManager is a node.js module that orchestrate
5 + the execution of a WizziFactoryJob.
6 p A job may request ArtifactProductions available in many
7 + WizziFactoryPackages.
8 p Jobs are modeled using the <i>wfjob</i> WizziSchema, and are executed
9 + passing the uri of the PrimaryIttfDocument of a wfjob
10 + to the ProductionManager.
11 p Required WizziFactoryPackages must be registered to the ProductionManager
12 + before calling a job execution.
13 p They must be npm installed. A global install is recommended.
14 h3 An example of the execution of a Production job
15 js
16 -
17 - var path = require('path');
18 - var util = require('util');
19 - var log = require('wizzi-core').log(module);
20 - var ProductionManager = require('wizzi-factory').ProductionManager;
21 - var options = require('wizzi-factory').options;
22 - var thisWizziModule = require('./index');
23 -
24 - var pman = new ProductionManager(options({
25 - indentSpaces: 4, // 1 indent (tab) = 4 spaces
26 - basedir: __dirname,
27 - verbose: 2 // 0= error only, 1=warnings, 2=all
28 - }));
29 - pman.registerWizziModule(thisWizziModule);
30 - pman.addWfJob({
31 - options: {}, // optional, override production options
32 - wfjob: {
33 - src: path.join(__dirname, 'lib', 'ittf', 'wizzifactory.wfjob.ittf')
34 - }
35 - });
36 - pman.run(function (err, result) {
37 - if (err) {
38 - return log.error('Error running production: ' + util.inspect(err, { depth: null }));
39 - }
40 - log.success('run completed');
41 - pman.persistToFile(function (err, result) {
42 - if (err) {
43 - return log.error('Error persisting production to file: ' + util.inspect(err, { depth: null }));
44 - }
45 - log.success('persistToFile completed');
46 - });
47 - });

/src/ittf/models/docs/t/docs/wizzi-factory/structure/wfjob-wizzi-schema.docs.ittf

    
1 concept The wfjob Wizzi Schema
2 id wfjob-WizziSchema
3 summary
4 h3 The wfjob Ittf notation
5 ittf
6 - wfjob job-name
7 - models-base-folder models-folder-path
8 - dest-base-folder dest-folder-path
9 - ${dollar}$[0..n]<b><i>models</i></b>
10 - model model-name
11 - src src-path
12 - schema schema-name
13 - ${dollar}$[0..n]<b><i>modelRefs</i></b>
14 - model-ref model-name
15 - export-name
16 - ${dollar}$[0..n]<b><i>transformers</i></b>
17 - transformer transformer-name
18 -
19 - ${dollar}$[1..n]<b><i>lines</i></b>
20 - line line-name
21 - cwd-folder cwd-folder-path
22 - dest-folder dest-folder-path
23 - ${dollar}$[1..n]<b><i>artifacts</i></b>
24 - artifact artifact-name
25 - src ittfdocument-path
26 - schema language-schema-name
27 - generation artifact-generator-name
28 - dest-path artifact-file-path
29 - extension artifact-file-extension
30 - ${dollar}$ [0..n]<b><i>modelRefs</i></b>
31 - model-ref model-name
32 - export-name
33 - ${dollar}$ [0..n]<b><i>transformers</i></b>
34 - transformer transformer-name
35 -
36 - ${dollar}$[1..n]<b><i>productions</i></b>
37 - production production-name
38 - dest-folder dest-folder-path
39 - ${dollar}$[1..n]<b><i>lineRefs</i></b>
40 - line-ref line-name
41 -
42 h3 An example of wfjob
43 ittf
44 - wfjob documentation
45 -
46 -
47 - var models_folder = __dirname;
48 - var src_root_folder = models_folder;
49 - var dest_folder = path.resolve(models_folder, '../out');
50 -
51 - models-base-folder ${dollar}{models_folder}
52 -
53 - model overview
54 - src overview.docs.ittf
55 - schema docs
56 -
57 - line root
58 - cwd-folder ${dollar}{src_root_folder}
59 - artifact overview.html.ittf
60 - src overview.html.ittf
61 - generator html/document
62 - schema html
63 - extension html
64 - model-ref overview
65 - transformer docs/preprint
66 -
67 - production
68 - dest-folder ${dollar}{dest_folder}
69 - line-ref root

/src/ittf/models/docs/t/docs/wizzi-factory/behaviour.docs.ittf

    
1 $group
2 $include behaviour/artifact-generation
3 $include behaviour/ittftemplate
4 $include behaviour/swigtemplate
5 $include behaviour/codewrite
6 $include behaviour/wizzi-model-transformation

/src/ittf/models/docs/t/docs/wizzi-factory/structure.docs.ittf

    
1 $group
2 $include structure/package
3 $include structure/production-manager
4 $include structure/wfjob-wizzi-schema

/src/ittf/models/docs/t/docs/wizzi-ittf/behaviour/ittf-evaluator.docs.ittf

    
1 concept Ittf evaluator
2 summary
3 p Is the IttfModelLoader component that resolves the template elements of an IttfDocument.
4 ul It receives in input:
5 li A TempIttfModel
6 ul A tree data structure that is the output of the IttfModelLoading components:
7 li IttfLexer
8 li IttfParser
9 li IttfIncluder
10 li IttfAppender
11 li an IttfLoadingContext; a context object passed to the IttfModelLoader.
12 p The IttfEvaluator traverses the TempIttfModel and generates an IttfModelResolveScript,
13 + an in memory javascript module
14 + that rebuilds the tree structure of the TempIttfModel resolving TemplatedIttfNodeValues
15 + and IttfTemplateControlNodes.
16 p The IttfModelResolveScript is parsed using the esprima parser and executed using the JsWizziRunner.
17 p The JsWizziRunnerContext is initialized with the IttfLoadingContext and manipulated at
18 + runtime by the IttfModelResolveScript itself.
19 h2 API
20 p Currently the IttfEvaluator is not exposed by the wizzi-ittf package.

/src/ittf/models/docs/t/docs/wizzi-ittf/behaviour/ittf-model-loader.ittf

    
1 concept Ittf model loader
2 summary
3 p The IttfModelLoader is the transformation engine of the Wizzi Factory.
4 p It is exposed by the index.js module of the wizzi-ittf package:
5 js
6 -
7 - var md = module.exports = {};
8 - /*
9 - params
10 - ittfDocumentUri : The uri or filepath of the source PrimaryIttfDocument
11 - requestContext: The template binding context
12 - callback : The async callback function that will receive
13 - the resulting IttfModel or an error object
14 - */
15 - md.load = function (ittfDocumentUri, requestContext, callback) {
16 - if (typeof callback !== 'function') {
17 - throw new Error("Ittf.load. A callback is required");
18 - }
19 - // ...
20 - }
21 p It transforms a source IttfDocument into a final IttfModel:
22 ul
23 li parses the IttfDocument;
24 li resolves MixinCalls, IncludeCalls and AppendHookCalls;
25 li processes template control nodes and other IttfNodeStatements;
26 li interpolates IttfNodeValues that contain IttfTemplateExpressions;
27 li rebuilds the transformed tree structure of the processed IttfDocument into a final IttfModel.
28 p Uses the following components
29 ul
30 li IttfLexer
31 li IttfParser
32 li IttfIncluder
33 li IttfMixer
34 li IttfAppender
35 li IttfEvaluator
36 h2 API
37 p The IttfModelLoader is used internally by WizziModelFactories,
38 + but you can access its API requiring the wizzi-ittf package.

/src/ittf/models/docs/t/docs/wizzi-ittf/behaviour/js-wizzi-context.docs.ittf

    
1 concept Js-Wizzi context
2 summary
3 p Is the context object used by the JsWizziRunner.
4 p The current context may be switched among 'NodeBuild', 'SourceIttfDocument' and 'Global'
5 + so it can be used to implement an IttfDocument level scope of execution.

/src/ittf/models/docs/t/docs/wizzi-ittf/behaviour/js-wizzi-runner.docs.ittf

    
1 concept Js-Wizzi runner
2 summary
3 p JsWizziRunner is the Wizzi Factory javascript processor, used to transform
4 + IttfDocuments containing IttfNodeStatements and templated IttfNodeValues into a final IttfModel.
5 p It can executes Js-Wizzi scripts, a subset of javascript.
6 p It uses the quite efficent <a href="http://esprima.org/">esprima</a> parsing infrastructure, and
7 + has a good performance.
8 p The execution context values of the JsWizziRunner are initialized and
9 + manipulated using the JsWizziContext object that must be passed to it.

/src/ittf/models/docs/t/docs/wizzi-ittf/structure/includeable-ittf-document.docs.ittf

    
1 concept Includeable ittf document
2 summary
3 p An includeable ittf document can be included in
4 + another IttfDocument.
5 p It may not have a $params IttfStatementNode as a child of its root node.
6 p It is included AS IS replacing
7 + the $include command node that invokes the inclusion.
8 p Since it is included before append and evaluation steps
9 + it may contain expression and template nodes just
10 + like any other templateable.
11 p It may contain $include command nodes.
12 p TODO May it contain mixin inclusion commmand nodes?

/src/ittf/models/docs/t/docs/wizzi-ittf/structure/ittf-document.docs.ittf

    
1 concept Ittf document
2 summary
3 p An IttfDocument is the persistence format of a WizziModel.
4 p It is a textual representation of a <a href="https://en.wikipedia.org/wiki/Tree_(data_structure)">tree data structure</a>
5 + modeled using the Ittf notation.
6 p This could be an IttfDocument also:
7 ittf
8 - html
9 - body
10 - ul
11 - li
12 - a The Wizzi Factory
13 - href https://wizzifactory.github.io
14 p An IttfDocument is composable and templateable. It is parsed and processed by an IttfModelLoader into an
15 + in memory javascript tree structure named IttfModel.
16 ul It may contain two kind of nodes:
17 li an IttfDomainNode, that is an IttfNode describing an element or attribute of the domain that is modeled;
18 ittf
19 - table user
20 - column UserName
21 - column Email
22 li an IttfStatementNode, that is an IttfNode containg a composition or templating instruction for the IttfModelLoader.
23 ittf
24 - $foreach item in collection
25 - ...
26 p All the IttfNodes of an IttfDocument, included the IttfRootNode, are templateable. An IttfNodeValue of an IttfDomainNode
27 + may contain templated expressions. IttfStatementNodes
28 + may contain template control statements. Even IttfRootNodes may be IttfStatementNodes. The root node
29 + of an IttfDocument may be a MixinCall that will be replaced by the called MixinIttfDocument.
30 ul There are three kinds of IttfDocuments
31 table
32 class pretty-table
33 tr
34 td PrimaryIttfDocument
35 td The primary source of a WizziModelInstance,
36 + which Uri is passed to the IttfModelLoader.
37 tr
38 td MixinIttfDocument
39 td A TemplateableIttfDocument that can be mixed
40 + in a calling IttfDocument using a MixinCall.
41 tr
42 td IncludeableIttfDocument
43 td An IttfDocument that can be included AS IS in
44 + another IttfDocument.

/src/ittf/models/docs/t/docs/wizzi-ittf/structure/ittf-model.docs.ittf

    
1 concept Ittf model
2 summary
3 p An IttfModel is the result of the loading, composition and template
4 + resolution of an Ittf document.
5 p It is an in memory javascript object with a tree data structure, and contains IttfDomainNodes only,
6 + with plain IttfNodeValues.
7 p It is ready to be verified against a WizziSchema and loaded into
8 + a WizziModelInstance.

/src/ittf/models/docs/t/docs/wizzi-ittf/structure/ittf-notation.ittf

    
1 concept Ittf notation
2 summary
3 p Ittf stays for Indented Text Tree Format, the notation format of
4 + every wizzi factory model.
5 p It is a textual representation of a <a href="https://en.wikipedia.org/wiki/Tree_(data_structure)">tree data structure</a>
6 + where child nodes are indented one level below their parent.
7 p Example. This is a tree data structure in Ittf format:
8 ittf
9 - html
10 - body
11 - ul
12 - li
13 - a The Wizzi Factory
14 - href https://wizzifactory.github.io
15 p Some Ittf terms:
16 table
17 class pretty-table
18 tr
19 td IttfDocument
20 td A text document containing a tree data structure written using the Ittf notation.
21 tr
22 td IttfNode
23 td A node item; a string of chars on a single line, that is parsed in a name, value
24 + pair separated by a whitechar (space or TAB).
25 tr
26 td Name
27 td The name part of an IttfNode, also IttfNodeTag.
28 tr
29 td Value
30 td The value part of an IttfNode; may be optional or required; may be multi-line (see the $.
31 + \ command nodes for multi-line values).
32 tr
33 td Parent
34 td The parent node of an IttfNode.
35 tr
36 td Root
37 td The root node of an IttfDocument; its Parent is null.
38 tr
39 td Branch
40 td A sub tree of an IttfNode that is not the root.
41 tr
42 td Children
43 td The child nodes of an IttfNode.

/src/ittf/models/docs/t/docs/wizzi-ittf/structure/ittf-statements.docs.ittf

    
1 concept Ittf command nodes
2 summary
3 p Ittf command nodes allow ittf documents to act as composable and templateable
4 + tree data structures.
5 h3 Mixin inclusion command
6 p Format:
7 ittf
8 - ...
9 - mixin-path( mixin-param-1 [mixin-param-2, [...]] ).
10 - [ optional ittf node branch ]
11 p A mixin inclusion is recognized by the lexer when a node name ends with
12 + an open parenthesis. The chars before the parens are the relative path
13 + to the mixin. The base path is the current ittf document uri.
14 + No whitechar may separate the mixin path and the open paren.
15 p The mixin ittf is inserted in the including ittf replacing
16 + the inclusion command node. If the includer node has children
17 + they, by default, are appended to the root node of the mixin.
18 + But if the mixin root has a descendant that is a default
19 + $hook command node, than the children of the
20 + includer node replace the $hook node.
21 p Example of mixin with an $hook node where children
22 + of the includer node will be appended.
23 ittf
24 - table
25 - tr
26 - $hook
27 p Root nodes can be command inclusion nodes:
28 ittf
29 - mylayout( home )
30 - div My content
31 h3 $include
32 p Format:
33 ittf
34 - ...
35 - $include include-path
36 p include-path is the relative path to an includeable ittf.
37 + The base path is the current ittf document uri.
38 p The includeable is included AS IS replacing
39 + the $include command node.
40 p An $include command node may not have children nodes.
41 h3 $params
42 p Format:
43 ittf
44 - rootnode
45 - $params name1[:type[|default]][, name2[...
46 p Example:
47 ittf
48 - li
49 - $params text, href
50 - a ${dollar}{text}
51 - href ${dollar}{href}
52 h3 $hook
53 p Format
54 ittf
55 - ...
56 - $hook name
57 p An $hook command node is a named insertion point where IttfNodeBranches can
58 + be appended. The name is optional, when missing its value is 'default'.
59 p It has to be replaced and may not have child nodes.
60 p See the statements MixinCall and AppendHookCall, for how to append
61 + IttfNodeBranches to an $hook node.
62 h3 $append
63 p Format
64 ittf
65 - ...
66 - $append hook-name
67 - ... nodeb ranch ...
68 p An $append command node is the root of a node branch that should be
69 + appended to an ancestor $hook of name hook-name.
70 + The $append children nodes replace the $hook node.
71 h3 $group
72 p Format
73 ittf
74 - $group empty-value
75 - ... node branch ...
76 p An ittf document must have one and only one root node.
77 p The $group command node is a convenience node that may be used as the root of
78 + an includeable or mixin with many root nodes.
79 p The $group node disappear in the builded tree.
80 h3 $if, $elif, $else
81 p Format:
82 ittf
83 - ...
84 - $if js-wizzi-conditional-expression
85 - ... nodeb ranch ...
86 - $elif js-wizzi-conditional-expression
87 - ... nodeb ranch ...
88 - $else empty-value
89 - ... nodeb ranch ...
90 p Children node are included/excluded depending on the value of the conditional-expression,
91 + written in Js-Wizzi.
92 h3 $foreach statement
93 p Format:
94 ittf
95 - ...
96 - $foreach item-name in collection-name
97 - ... node branch ...
98 p This is a repeat template where item-name is user defined and
99 + collection-name is a Js-Wizzi expression that evaluates to an iterable.
100 p The var statement that declares item-name is auto-generated.
101 p Descendant nodes are repeated having item-name as a context value in scope.
102 h3 $break, $continue
103 p Format:
104 ittf
105 - ...
106 - $break empty-value
107 - ...
108 - $continue empty-value
109 p This statements have the same meaning than in javascript but operate breaking or continuing
110 + the template repetition.
111 p Currently a label for continuation is not implemented.
112 h3 $while
113 p Format:
114 ittf
115 - ...
116 - $while js-wizzi-conditional-expression
117 - ... node branch ...
118 - $ js-wizzi-exit-condition-change
119 p This is a repeat template statement where descendant nodes are repeated
120 + until the js-wizzi-conditional-expression evaluates to false.
121 p $ or $global command nodes must be used to modify the context values of the exit condition.
122 + There is a limit of 10000 iterations to guard against accidental loops, after that an exception is raised.
123 h3 $ comman node
124 p Allow manipulation of the template context.
125 p May declare and modify template context variables that have ittf document scope.
126 div May modify template context variables that have global scope.
127 div Statements are js-wizzi instructions.
128 p Single line format:
129 ittf
130 - ...
131 - $ js-wizzi-statement
132 p Multi-line format:
133 ittf
134 -
135 - js-wizzi-statement
136 - js-wizzi-statement
137 - ...
138 h3 $global command node
139 p May declare and modify template context variables of the global scope.
140 div Statements are js-wizzi instructions.
141 p Single line format:
142 ittf
143 - ...
144 - $global js-wizzi-statement
145 p Multi-line format:
146 ittf
147 - $global
148 - js-wizzi-statement
149 - js-wizzi-statement
150 - ...

/src/ittf/models/docs/t/docs/wizzi-ittf/structure/js-wizzi.docs.ittf

    
1 concept Js-Wizzi
2 summary
3 p Js-Wizzi is a subset of ECMA-262 javascript standard used by
4 + the wizzi factory for processing templated ittf documents.
5 p Js-Wizzi uses the quite efficent <a href="http://esprima.org/">esprima</a> parsing infrastructure
6 + and a customized javascript engine (Js-Wizzi-Runner).
7 p Ittf documents may contain Js-Wizzi statements in
8 ul
9 li Value of domain nodes
10 ittf
11 -
12 - caption ${dollar}{ name.capitalize() }
13 li Conditional expression of $if, $elif, $while command nodes
14 li Collection name of $foreach command node
15 li Body of $ and $global command nodes
16 p Example of use of Js-Wizzi
17 ittf
18 -
19 - ul
20 - $ var i = 0;
21 - $while i < 10
22 - li counting ${dollar}{i}
23 - $ i++;
24 p The esprima syntax tree format is expected to be compatible with the Mozilla SpiderMonkey Parser API.
25 ul The node types implemented by Js-Wizzi are:
26 li VariableDeclaration
27 li STATEMENTS
28 ul
29 li EmptyStatement
30 li ExpressionStatement
31 li IfStatement
32 li WhileStatement
33 li DoWhileStatement
34 li ForStatement
35 li ForInStatement
36 li BreakStatement
37 li ContinueStatement
38 li ReturnStatement
39 li EXPRESSIONS
40 ul
41 li UnaryExpression: !
42 li BinaryExpression: +. -, *, /, ==, ===, !=, !==, >=, >, <=, <
43 li UpdateExpressions: ++, --
44 li LogicalExpression: &&, ||
45 li ConditionalExpression: test ? consequent : alternate
46 li CallExpression
47 li MemberExpression
48 li AssignmentExpression: =, *=, /=, %=, +=, -=, <<=, >>=, >>>=, &=, ^=, |=
49 li ArrayExpression
50 li ObjectExpression
51 li FunctionCall
52 li FunctionDeclaration
53 div Simple function declaration. No prototypes. No function
54 + objects; functions cannot be built by code and used like objects.

/src/ittf/models/docs/t/docs/wizzi-ittf/structure/mixin-ittf-document.docs.ittf

    
1 concept Mixin ittf document
2 summary
3 p A mixin ittf document may be mixed
4 + in another ittf document.
5 p It may have binding parameters that are set on its template evaluation context
6 + and are in scope of its nodes only (not of nodes eventually included or mixed).
7 p May contain named $hook nodes where children of the node invoking the mixin inclusion
8 + can be appended.
9 p Example mixin ittf document
10 ittf
11 - li
12 - $params text, href|#
13 - a ${dollar}{text}
14 - href ${dollar}{href}
15 - $hook default ${dollar}$ the name default may be omitted
16 p Example of inclusion invoking document
17 ittf
18 - html
19 - ...
20 - ul
21 - lia( Wizzi factory, https://wizzifactory.github.io/)
22 - br
23 - span A model driven software factory.
24 - lia( NodeJs, https://nodejs.org)

/src/ittf/models/docs/t/docs/wizzi-ittf/structure/primary-ittf-document.docs.ittf

    
1 concept Primary Ittf document
2 summary
3 p A Primary ittf document has the root node that is
4 + the root of a wizzi model.
5 p Usually the root node is a domain node.
6 ittf
7 - html
8 - head
9 - ...
10 - body
11 - ...
12 p But it may be also a mixin inclusion command node.
13 p The IttfNodeRoot can be a MixinCall to a MixinIttfDocument, which IttfNodeRoot
14 + will become the root DomainNode of the model;
15 ittf
16 - layout()
17 - section
18 - ...
19 p Or can be a branch domain node of a WizziModelInstance, it
20 + is not required to be the root node;
21 ittf
22 - div
23 - ...
24 p A PrimaryIttfDocument may declare a $params IttfStatementNode
25 + as a child of the IttfNodeRoot. Being a primary source,
26 + parameters cannot be passed by MixinCalls but can
27 + be passed in the IttfLoadingContext.
28 ittf
29 - html
30 - $params borderColor
31 - ...

/src/ittf/models/docs/t/docs/wizzi-ittf/structure/templeatable-ittf-document.docs.ittf

    
1 concept Templateable ittf document
2 summary
3 p Some terms:
4 table
5 class pretty-table
6 tr
7 td TemplateableIttfDocument
8 td Is a mix of:
9 li IttfDomainNodes with a PlainIttfNodeValue.
10 ittf
11 - primaryKey User_ID
12 li IttfDomainNodes with a TemplatedIttfNodeValue; they require interpolation (VariableSubstitution).
13 ittf
14 - primaryKey ${dollar}{ table.name.toUpperCase() }_ID
15 li IttfTemplateControlNodes, they allow TemplateConditionalInclusion
16 ittf
17 - $if table.hasPrimaryKey()
18 - ...
19 li JsWizziIttfNodes, they can manipulate the TemplateContext.
20 ittf
21 - $ var columnCount = table.columns.length;
22 tr
23 td TemplateContext
24 td Contains the context values for VariableSubstitution and evaluation of IttfTemplateControlNodes.
25 tr
26 td TemplateResolution
27 td A TemplateableIttfDocument is <i>resolved in</i> a TemplateContext.
28 p The TemplateContext is created from the IttfLoadingContext that is
29 + passed to the IttfModelLoader. In case of a MixinIttfDocument the MixinCallParameters
30 + are added to it; they override any property of the IttfLoadingContext with the same name.
31 p The IttfTemplateEvaluator generates and execute in memory a javascript module
32 + that rebuilds the IttfModel node tree, processing expressions and flow control statements
33 + declared in the IttfNodes of the TemplateableIttfDocument.

/src/ittf/models/docs/t/docs/wizzi-ittf/behaviour.docs.ittf

    
1 $group
2 $include behaviour/ittf-model-loader
3 $include behaviour/ittf-evaluator
4 $include behaviour/js-wizzi-runner
5 $include behaviour/js-wizzi-context

/src/ittf/models/docs/t/docs/wizzi-ittf/index.docs.ittf

    
1 $group

/src/ittf/models/docs/t/docs/wizzi-ittf/structure.docs.ittf

    
1 $group
2 $include structure/ittf-notation
3 $include structure/ittf-document
4 $include structure/templeatable-ittf-document
5 $include structure/js-wizzi
6 $include structure/ittf-statements
7 $include structure/primary-ittf-document
8 $include structure/mixin-ittf-document
9 $include structure/includeable-ittf-document

/src/ittf/models/docs/t/docs/wizzi-schema/behaviour/wizzi-model-factory.docs.ittf

    
1 concept Wizzi model factory
2 summary
3 p A WizziModelFactory loads an IttfDocument into a WizziModelInstance
4 + of a WizziModelType.
5 p Uses the IttfModelLoader to load the IttfDocument into an IttfModel.
6 p Instantiate the WizziModelInstance and calls its LoadFrom method passing
7 + the IttfModel as an argument.
8 p Calls the wzInitialize and wzVerify methods on the WizziModelInstance.
9 p If the model is validated returns it through a callback.

/src/ittf/models/docs/t/docs/wizzi-schema/behaviour/wizzi-model-production.docs.ittf

    
1 concept Wizzi model production
2 summary
3 p The WizziModelProduction is the Wizzi Factory production that generates
4 + a WizziModelType and its WizziModelFactory from a WizziSchema.
5 p It is packaged in the wizzi-schema package for convenience reasons
6 + in the bootstrap stage of the Wizzi Factory.
7 h2 API
8 p

/src/ittf/models/docs/t/docs/wizzi-schema/structure/wizzi-meta-schema.docs.ittf

    
1 concept Wizzi meta schema
2 summary
3 p A WizziMetaSchema is the meta model of a WizziSchema.
4 p It models a WizziSchema with the same notation with which
5 + a WizziSchema models a WizziModelType.
6 p It describes the model elements: WizziSchema, Element, Attribute,
7 + Relation, Restrict, ExportTo, Require and Method.
8 h3 WizziSchema element
9 ittf
10 - wfschema schema-name
11 - [0..n]<b><i>requires</i></b>
12 - [0..n]<b><i>exportTos</i></b>
13 - [1..n]<b><i>elements</i></b>
14 h2 Model elements
15 h3 Element element
16 ittf
17 - ...
18 - e element-name [: super-element-name]
19 - <i>super</i> super-element-name
20 - <i>tag</i> tag-string
21 - <i>xml-tag</i> xml-tag-string
22 - <i>is-abstract</i>
23 - <i>is-root</i>
24 - <i>name-is-required</i>
25 - <i>add-to-children</i>
26 - [0..n]<b><i>attributes</i></b>
27 - [0..n]<b><i>relations</i></b>
28 - [0..n]<b><i>methods</i></b>
29 h3 Relation element
30 p Format:
31 ittf
32 - ...
33 - r related-element-name[ [plural-suffix-a] / plural-suffix-b ]
34 - <i>one-to-one</i>
35 - <i>no-get</i>
36 p Example:
37 ittf
38 - ...
39 - e table : dbitem
40 - r column/s
41 - r propert-y/ies
42 - r displayLayout
43 - one-to-one
44 p related-element-name plus the eventual plural-suffix-a must give the name of an
45 + Element element defined in the schema (that is the related Element); in the
46 + example: column, property, displayLayout.
47 h3 Attribute element
48 p Describes an attribute of an Element element.
49 p Format:
50 ittf
51 - ...
52 - a attribute-name
53 - <i>tag</i> tag-string
54 - <i>xml-tag</i> xml-tag-string
55 - <i>type</i> type-name
56 - <i>default</i> default-value
57 - <i>default-when-declared</i> default-value-when-declared
58 - <i>is-datatype</i>
59 - <i>is-required</i>
60 - [0..n]<b><i>restricts</i></b>
61 h3 Restrict element
62 p Format:
63 ittf
64 - ...
65 - restrict
66 - [0..n]enum enum-value
67 - <i>max-length</i> value
68 - <i>min-length</i> value
69 - <i>max-value</i> value
70 - <i>min-value</i> value
71 - <i>regexp</i> value
72 h2 Model type code elements
73 p The following elements of the WizziMetaSchema consent the insertion of javascript code in the
74 + WizziModelType that will be generated by the WizziModelProduction
75 h3 ExportTo element
76 p Format:
77 ittf
78 - wfschema schema-name
79 - export-to format-name
80 p Corrently available format is: 'json'.
81 p En exportTo element causes the insertion in the WizziModelType of the WizziSchema
82 + of the prototype functions for exporting the tree data structure of the model in
83 + the requested format.
84 h3 Require element
85 p Format:
86 ittf
87 - wfschema schema-name
88 - require module-name
89 - <i>declare-var</i> var-name
90 - <i>invoke</i> invoke-string
91 - <i>kind</i> kind-name
92 h3 Method element
93 p Declares a method that will be added in the WizziModelType to the pseudo-class of
94 + the containing Element. The method can access and manipulate the entire model
95 + tree structure.
96 p Format:
97 ittf
98 - ...
99 - m method-name
100 - [0..n]<b><i>params</i></b>
101 - [0..n]<b><i>statements</i></b>
102 h3 Parameter element
103 p Format:
104 ittf
105 - ...
106 - param param-name
107 h3 Statement element
108 p The statement element uses a subset of the CodeWizziSchema 'js'

/src/ittf/models/docs/t/docs/wizzi-schema/structure/wizzi-model-instance.docs.ittf

    
1 concept Wizzi model instance
2 summary
3 p A WizziModelInstance is an instance of a WizziModelType created by a WizziModelFactory.
4 ul It is a javascript object that may be used as a context object:
5 li in an ArtifactGeneration;
6 li in a WizziModelTransformation;
7 li in the WizziModelLoading of another WizziModelInstance.

/src/ittf/models/docs/t/docs/wizzi-schema/structure/wizzi-model-type.docs.ittf

    
1 concept Wizzi model type
2 summary
3 p A WizziModelType is the javascript representation of a WizziSchema.
4 p Mapping of a WizziSchema to a WizziModelType
5 table
6 tr
7 td Require element
8 td javascript/jsnode require statement
9 tr
10 td Element element
11 td javascript pseudo-class
12 tr
13 td Super attribute
14 td javascript pseudo-inehritance.
15 tr
16 td Attribute element
17 td Property of a primitive type of the element pseudo-class
18 tr
19 td Restrict element
20 td Validation statements in the wzVerify method of the element pseudo-class
21 tr
22 td One-to-many Relation element
23 td javascript array of Right elements as a property of Left element pseudo-class
24 tr
25 td One-to-one Relation element
26 td javascript object of Right element as a property of Left element pseudo-class
27 tr
28 td Method element
29 td javascript function in the prototype of the element pseudo-class
30 tr
31 td ExportTo element
32 td javascript function in the prototype of the element pseudo-class
33 + that implements the export of the model instance
34 p WizziModelType pseudo-classes are instantiated by the WizziModelFactory during
35 + a WizziModelLoading.

/src/ittf/models/docs/t/docs/wizzi-schema/structure/wizzi-schema.docs.ittf

    
1 concept Wizzi schema
2 summary
3 p The domains of interest for the productions of Software Artifacts
4 + are modeled using WizziSchemas, the core modeling tool of the Wizzi Factory.
5 p A schema is modeled using the Ittf notation and may be composed
6 + by one or many IttfDocuments.
7 p An example of WizziSchema:
8 ittf
9 - wfschema rdbms
10 - e catalog
11 - r table/s
12 - e table
13 - r column/s
14 - r index/es
15 - e column
16 - a type
17 - a caption
18 - a defaultValue
19 - tag default
20 - e index
21 - a primary
22 - type boolean
23 - a unique
24 - type boolean
25 - r column/s
26 p WizziSchemas are then transformed
27 + in javascript object models, named WizziModelTypes, that can be
28 + instantiated and loaded with instance
29 + model data by a WizziModelFactory. WizziModelInstances can be
30 + transformed and/or used as data contexts in ArtifactProductions.
31 p A sample rdbms WizziModel conformant to the previous WizziSchema:
32 ittf
33 - rdbms School
34 - table Student
35 - column Id
36 - type integer
37 - column Name
38 - type string
39 - index Student-PK
40 - primary true
41 - column Id
42 - table Course
43 - column Id
44 - type integer
45 - column Title
46 - type string
47 - index Student-PK
48 - primary true
49 - column Id
50 p A WizziSchema has itself a WizziModelType,
51 + with its WizziModelFactory, created from a meta schema named 'wfschema'.
52 p WizziModelTypes and WizziModelFactories are artifacts generated from
53 + a WizziSchema by a WizziModelProduction.
54 p See the WizziSchema specification.

/src/ittf/models/docs/t/docs/wizzi-schema/behaviour.docs.ittf

    
1 $group
2 $include behaviour/wizzi-model-factory
3 $include behaviour/wizzi-model-production

/src/ittf/models/docs/t/docs/wizzi-schema/structure.docs.ittf

    
1 $group
2 $include structure/wizzi-schema
3 $include structure/wizzi-meta-schema
4 $include structure/wizzi-model-type
5 $include structure/wizzi-model-instance

/src/ittf/models/docs/t/docs/wizzimodel/factorymodule.docs.ittf

    
1 concept The wizzi model factory javascript module
2 summary
3 p The javascript module `schema-name`-factory.g.js exports the method
4 + 'createLoadModel', that is an HOF that returns the 'loadModel' function.
5 + It must be called passing the 'wizzi' object.
6 h4 The `schema-name`-factory.g.js API
7 p We have seen already this api in the 'plugin' documentation. Repetita juvant.
8 ittf
9 - {
10 - func createLoadModel
11 - # HOF : returns the loadModel function for the given factory
12 - { wizziObject
13 - func loadMTree
14 - api-ref wizzi-mtree.loader.loadMTree
15 - # This function is prepared by the wizzi.wizziFactory instance class
16 - # and has repository access functions and load options in its closure.
17 - { file
18 - api-ref wizzi.util.file
19 - { errors
20 - api-ref wizzi.errors
21 - ...
22 - return
23 - func loadModel
24 - # This returned function require a complex 'loadContext'
25 - # parameter with a lot of interfaces passed.
26 - # It will be called by the wizzi.wizziFactory instance and
27 - # not directly from client code.
28 - string ittfDocumentUri
29 - # The path to the primary ittf document from which
30 - # the mTree will be loaded
31 - { loadContext
32 - { __productionManager
33 - api-ref wizzi.production.productionManager
34 - { productionContext
35 - api-ref wizzi.production.productionContext
36 - { aclstat
37 - api-ref wizzi.production.aclstat
38 - { __ittfDocumentStore
39 - api-ref wizzi-repo.ittfDocumentStore
40 - { mTreeBuildUpContext
41 - optional
42 - | api-ref wizzi-plugin.wizziModel
43 - | POJO
44 - callback

/src/ittf/models/docs/t/docs/wizzimodel/generation.docs.ittf

    
1 concept Wizzi models generation
2 summary
3 p Wizzi models can be generated calling the 'generateModelTypes' method of an
4 + instance of the wizzi.WizziFactory class, initizialized with the 'wizzi-core',
5 + 'wizzi-js' and 'wizzi-html' plugins.
6 p This is the api of the wizzi.WizziFactory.generateModelTypes method.
7 ittf
8 - ...
9 - m generateModelTypes
10 - string wfschemaIttfDocumentUri
11 - # The full path to the primary ittf document of the schema description
12 - string outputPackagePath
13 - # The full path of the package folder where the generated artifacts will be written
14 - string wfschemaName
15 - # The schema name, for composing the names of the generated artifacts
16 - { mTreeBuildUpContext
17 - # A context object which properties will inserted in the global
18 - # evaluation context during the mTree loading of the schema
19 - callback

/src/ittf/models/docs/t/docs/wizzimodel/index.docs.ittf

    
1 $group
2 concept Wizzi models
3 summary
4 p Wizzi models are javascript document objects, inspired by Xml document objects,
5 + that can load mTrees, applying a type to their nodes, that are
6 + trasformed in instances of classes and typed instance properties.
7 p To be loaded in a wizzi model an mTree node structure must be conformant to the
8 + wizzi model type, otherwise an mTreeLoadError is thrown.
9 p Wizzi model types are described using a meta wizzi model, of type 'wfschema',
10 + implemented by the
11 span
12 a 'wizzi-core'
13 href https://github.com/wizzifactory/wizzi-core
14 span plugin.
15 p Wizzi models are themself software artifacts generated by artifact generators
16 + of the wizzi-core plugin. They receive, as source model, a wizzi model
17 + of type 'wfschema' and, from its definitions, generate:
18 ul
19 li the wizzi model javascript module
20 li the model factory javascript module
21 li a json documentation file
22 li a html documentation file.
23 h4 Table of wizzi model artifact generators and links to source code
24 table
25 class pretty-table
26 tr
27 th artifact
28 th file name
29 th language
30 th plugin ittf
31 th plugin js
32 tr
33 td wfschema/factory
34 td `schema-name`-factory.g.js
35 td javascript
36 td
37 a v3
38 href https://github.com/wizzifactory/v3-plugins/tree/master/v3-wizzi-core/ittf/lib/artifacts/wfschema/factory/gen
39 td
40 a v3
41 href https://github.com/wizzifactory/wizzi-core/tree/master/lib/artifacts/wfschema/factory/gen
42 tr
43 td wfschema/model
44 td `schema-name`-model.g.js
45 td javascript
46 td
47 a v3
48 href https://github.com/wizzifactory/v3-plugins/tree/master/v3-wizzi-core/ittf/lib/artifacts/wfschema/model/gen
49 td
50 a v3
51 href https://github.com/wizzifactory/wizzi-core/tree/master/lib/artifacts/wfschema/model/gen
52 tr
53 td wfschema/html_docs
54 td `schema-name`-schema.g.html
55 td html
56 td
57 a v3
58 href https://github.com/wizzifactory/v3-plugins/tree/master/v3-wizzi-core/ittf/lib/artifacts/wfschema/html_docs/gen
59 td
60 a v3
61 href https://github.com/wizzifactory/wizzi-core/tree/master/lib/artifacts/wfschema/html_docs/gen
62 tr
63 td wfschema/json_docs
64 td `schema-name`-schema.g.json
65 td json
66 td
67 a v3
68 href https://github.com/wizzifactory/v3-plugins/tree/master/v3-wizzi-core/ittf/lib/artifacts/wfschema/json_docs/gen
69 td
70 a v3
71 href https://github.com/wizzifactory/wizzi-core/tree/master/lib/artifacts/wfschema/json_docs/gen
72 $include ./generation
73 $include ./modelmodule
74 $include ./factorymodule

/src/ittf/models/docs/t/docs/wizzimodel/modelmodule.docs.ittf

    
1 concept The wizzi model javascript module
2 summary
3 p A wizzi model is a javascript module containg a javascript class for each
4 + element defined in its 'wfschema' and some standard base
5 + and helper classes.
6 h4 Wizzi model classes
7 table
8 tr
9 td wzSourceLineInfo
10 td source map item with source file path, row, col of a node
11 tr
12 td `schema-name`Exception
13 td exception object for this wizzi model
14 tr
15 td `schema-name`Context
16 td context object for the methods wzInitialize and wzVerify
17 tr
18 td `schema-name`Base
19 td base class for all element classes
20 tr
21 td `element-name`
22 td one class for each element of the schema
23 h4 The wzSourceLineInfo API
24 ittf
25 - class wzSourceLineInfo
26 - ctor
27 - integer row
28 - # 1-based row position of the source ittf node
29 - integer col
30 - # 1-based column position position of the source ittf node
31 - string sourceKey
32 - # Key to the source ittf document infos stored in the 'loadContext' object
33 - # The 'loadContext' is a property of the root element
34 - m toString
35 - { elementInstance?
36 h4 The `schema-name`Exception API
37 ittf
38 - class `schema-name`Exception
39 - ctor
40 - string message
41 - { ittfNode
42 - { elementInstance
43 h4 The `schema-name`Context API
44 ittf
45 - class `schema-name`Context
46 - boolean schemaIsValid
47 - m addError
48 - string message
49 - { mTreeNode
50 - m verifyEnum
51 - string valueType
52 - string valueName
53 - string value
54 - [ allowed
55 - string allowedValue
56 - { mTreeNode
57 h4 The `schema-name`Base API
58 ittf
59 - class `schema-name`Base
60 - string wzName
61 - string wzTag
62 - [ wzChildren
63 - ctor
64 - string name
65 - # the node-value of the source mTreeNode
66 - # that becomes the 'wzName' of the newly created element
67 - { sourceLineInfo
68 - api-ref wizzimodel.wzSourceLineInfo
69 - m wzRoot
70 - # Return the model root element instance
71 - m wzSourceFilepath
72 - # Returns the filepath of an ittf source document given its 'sourceKey'
73 - string sourceKey
74 - m wzAddChild
75 - # Add a child node to the wzChildren collection
76 - { elementInstance
77 - m wzLoadToChildColl
78 - # Creates a new element instance given the type of its source mTreeNode
79 - # Append it to the collection passed as parameter.
80 - # Call the loadFromNode method of the newly created element
81 - # with the source mTreeNode as argument.
82 - { mTreeNode
83 - # the mTreeNode that we are loading
84 - { type
85 - # the javascript class of the wizzi model element
86 - # that is the type for mTreeNode given its node-name
87 - { coll
88 - # the collection to which the newly created element should be appended
89 - m wzLoadToChildren
90 - # Creates a new element instance given the type of its source mTreeNode
91 - # Append it to the wzChildren collection.
92 - # Call the loadFromNode method of the newly created element
93 - # with the source mTreeNode as argument.
94 - { mTreeNode
95 - { type
96 - m wzLoadOneToOne
97 - # Creates a new element instance given the type of its source mTreeNode
98 - # Assign it to the `fieldName` property.
99 - # Call the loadFromNode method of the newly created element
100 - # with the source mTreeNode as argument.
101 - { mTreeNode
102 - { type
103 - string fieldName
104 - m error
105 - # throw a `schema-name`Exception
106 - string message
107 - { mTreeNode
108 h4 The `element-name` API
109 ittf
110 - class `element-name`
111 - m loadChild
112 - # Tests if the mTreeNode name is a valid child element or attribute.
113 - # If yes call the proper add method and return true.
114 - # If no return false.
115 - { mTreeNode
116 - m loadFromNode
117 - # Calls the loadChild method on this element
118 - # for each child node of the mTreeNode to load.
119 - { mTreeNode
120 - m wzInitialize
121 - # Initialize the element
122 - # Called after the source mTree has been succesfully loaded.
123 - param ctx
124 - api-ref `schema-name`Context
125 - m wzVerify
126 - # Verify if the element is valid
127 - # Called after the wzInitialize method.
128 - { ctx
129 - api-ref `schema-name`Context

/src/ittf/models/docs/t/labs/t/resource.docs.ittf

    
1 $group
2 $params name
3 h3 ${name}
4 table
5 class pretty-table
6 < thead
7 < tr
8 < td Resource
9 < td Description
10 < tbody
11 $hook

/src/ittf/models/docs/t/labs/data-lab.docs.ittf

    
1 object The Data Lab
2 summary
3 resource( WizziSchemas )
4 tr
5 td rdbms
6 td A relational database meta model
7 tr
8 td graph
9 td A graph database meta model

/src/ittf/models/docs/t/labs/form-lab.docs.ittf

    
1 object The Form Lab
2 summary
3 resource( WizziSchemas )
4 tr
5 td form
6 td An ui form meta model

/src/ittf/models/docs/t/labs/rest-lab.docs.ittf

    
1 object The Rest Lab

/src/ittf/models/docs/t/labs/site-lab.docs.ittf

    
1 object The Site Lab
2 summary
3 resource( WizziSchemas )
4 tr
5 td js
6 td A javascript LanguageWizziSchema
7 tr
8 td html
9 td An Html LanguageWizziSchema
10 tr
11 td css
12 td A style sheet LanguageWizziSchema

/src/ittf/models/docs/t/project/issues_old.docs.ittf

    
1 $group
2 issue wizzi-mtree.loader. Missing value on a context model replaced arbitrarily
3 summary
4 p If a collection item in a context model has a property with a value in
5 + some items and no value in others, when has no value a casual value is returned instead of empty.
6 categories mTree
7 issue IttfInclude. $param root node in included document
8 summary
9 p If the root node of the included document is a $params node the loading must fail
10 + and the error must be logged
11 categories mTree
12 issue Error messages sometimes are obscure or incorrect
13 summary
14 p We need a better strategy to print the exact file, and line of
15 + code where an error occurred
16 issue IttfLoader - Mixins. Error loop when passing object arguments to a mixin.
17 summary
18 p When a mixin has an object param and calls another mixin passing an object argument
19 + the loading loops
20 issue The role of the require element of the wfschema is unclear
21 summary
22 p Should be node-js require only or
23 + may be used to require features.

/src/ittf/models/docs/t/project/issues.docs.ittf

    
1 $group
2 issue wizzi-mtree.loader. Missing value on a context model replaced arbitrarily
3 summary
4 p If a collection item in a context model has a property with a value in
5 + some items and no value in others, when has no value a casual value is returned instead of empty.
6 categories mTree
7 issue Error messages sometimes are obscure or incorrect
8 summary
9 p We need a better strategy to print the exact file, and line of
10 + code where an error occurred
11 issue IttfLoader - Mixins. Error loop when passing object arguments to a mixin.
12 summary
13 p When a mixin has an object param and calls another mixin passing an object argument
14 + the loading loops
15 issue The role of the require element of the wfschema is unclear
16 summary
17 p Should be node-js require only or
18 + may be used to require features.

/src/ittf/models/docs/t/project/newversion.docs.ittf

    
1 $group
2 issue from v3 to v4
3 summary

/src/ittf/models/docs/t/project/roadmap.docs.ittf

    
1 roadmap Roadmap
2 summary
3 p The roadmap is a living document, and can change at any time, but the list below should
4 + give some indication of our plans for the near future.
5 p NOTE: today, 14 of september, the milestones for this year have been
6 + delayed 1 month. Sorry, but lots of tests have been added.
7 br
8 br
9 milestone End of september 2017: first partial pre-release
10 summary
11 h5 'wizzi-demo' package
12 ul
13 li First documented pre-release.
14 li Announce on facebook and twitter with caution for weak error checking.
15 h5 'wizzi-docs' package
16 ul
17 li Continues the documentation effort.
18 li First release of complete Api and Code sections.
19 br
20 br
21 milestone End of october 2017: wizzi factory v4 (0.4.0 pre-release)
22 summary
23 h5 jsWizzi and mTree loading
24 ul
25 li Complete test coverage of jsWizzi and mTree loading.
26 h5 'js' language schema and 'js/module' artifact
27 ul
28 li Automatic type check of function arguments when code is generate in debug mode.
29 + A new notation for declaring parameters will be implemented.
30 ittf
31 - function alfa
32 - string beta
33 - { options
34 - boolean gamma
35 - optional
36 li A js/preprocess model transformer (optional).
37 div It will consent to avoid the clumsy 'set' and '_' node tags when not needed for some specific mTree build-up purpose.
38 h5 'wizzi-demo' package
39 ul
40 li Plenty of examples.
41 br
42 br
43 milestone End of december 2017: wizzi factory v5 (0.5.0 pre-release)
44 summary
45 p We hope that starting from this version the wizzi factory will be usable
46 + without the risk of losing time for bad error tracking.
47 br Every effort will be put on tests, documentation and a neat
48 + error message system for loading and generation failures.
49 h5 jsWizzi and mTree loading
50 br
51 br
52 milestone Year 2018: wizzi studio and plugins development
53 summary
54 p The year 2018 will be dedicated to the development of a web application
55 + for managing ittf documents of models, transformers and artifact generators.
56 p We will be able to monitor interactively the buildup of an mTree and its transformations.
57 p The visitor pattern will be implemented to support model transformations.
58 p We will focus on the automation of generation tasks based on the [#schema(wfjob)] schema.
59 p New plugins will be developed for data management, form building, rest server apis
60 + and single page applications.

/src/ittf/models/docs/t/project/status.docs.ittf

    
1 roadmap Status
2 summary
3 p Development of functionalities is satisfactory. Model definitions and
4 + generation processes are reaching a fluid and mature status.
5 + But engeneering, tests and tracking errors in source documents are Achille heels.
6 br This project comes from interests in economy and biology. We hope
7 + we will get engineers on board soon.
8 br
9 milestone At august 2017
10 summary
11 ul
12 li We are in version v3 (0.3.x pre-release).
13 li The entire wizzi factory is auto generated from ittf documents
14 + except images and fonts. <br>This is a major milestone.
15 li The kernel functions begin to be quite stable.
16 li But error checking of source documents is awful.
17 li <b> The wizzi factory is not
18 + yet usable</b>.
19 li <b>WORK IN PROGRESS</b> will be there at least until v5 (0.5.x pre-release).

/src/ittf/models/docs/t/project/todos_old.docs.ittf

    
1 $group
2 todo Implement a line continuation character
3 summary
4 p Long node values looks better when in a new line.
5 + the blackslash at the beginning of the line should be fine.
6 + At the beginning of the continuation line, not at the end of
7 + the continued line, is more Wizzi style.
8 todo Implement multi node mixin call Ittf statement in the Ittf prettifier
9 todo Manage the close paren of mixin call Ittf statement in the Ittf prettifier
10 todo Correctly implement comments in the Ittf prettifier
11 todo Add node documentation support to the Ittf prettifier
12 summary
13 p The Ittf prettifier could be implementaed also as a
14 + Wizzi model loader feature.
15 p Ittf nodes could be beautified and have a popup linked to
16 + the Wizzi schema documentation of the node semantics.
17 todo Have a look at http://redcloth.org/textile for ideas evolving the @docs@ Wizzi schema.
18 categories wfschema:docs
19 todo Implement an is-root attribute on a the WizziMetaSchema Element element
20 summary
21 p Allow the first element on the schema not be the root element
22 todo Implement the xml-tag attribute on the WizziMetaSchema Attribute element
23 todo In js-wizzi-schema the throw node should accept child arguments
24 todo How to test root reached in a directory findUp
25 summary
26 p How to test that base path is the root (drive) : set basePath = path.dirname(basePath)
27 p if (basePath.length > 3) { // TODO limit to app root
28 p Search t folder (wizzi-ittf)
29 p Find package (wizzi-factory)

/src/ittf/models/docs/t/project/todos.docs.ittf

    
1 $group
2 todo Features
3 summary
4 h3 wfjob and production manager
5 p Implement transpiling of native and generated artifacts.
6 + Introduce a 'transpile' element in the 'wfjob' schema.
7 todo Documentation
8 summary
9 p We are completing the sections
10 a Docs
11 href https://wizzifactory.github.io/docs
12 span ,
13 a Api
14 href https://wizzifactory.github.io/api
15 span and
16 a Code
17 href https://wizzifactory.github.io/code/wizzi
18 span of the project site on
19 a github
20 href https://wizzifactory.github.io
21 span .
22 p A new section
23 a Plugins
24 href https://wizzifactory.github.io/plugins
25 span , is under development. It will contain the generated documentation of
26 + plugins already developed.
27 todo Testing
28 summary
29 p The mTree loader and the production manager are under heavy testing.

/src/ittf/models/docs/t/specs/t/js-wizzi-schema/call.docs.ittf

    
1 $group
2 ls( call node {ittf-tag _} )
3 $append summary-js
4 ul call nodes accept as children nodes
5 li jsPropertyOrValue nodes {ittf-tag @}
6 li jsObject nodes {ittf-tag {}
7 li jsArray nodes {ittf-tag [}
8 li function nodes {ittf-tag function}
9 li call nodes {ittf-tag _}
10 -
11 - _ execute
12 - @ argument
13 - {
14 - @ property 'hello'
15 - [
16 - @ arrayItem1
17 - @ arrayItem2
18 - function
19 - # ... statements ...
20 - _ retrieveValue
21 - @ argument
22 $append code-js
23 - execute(argument, {
24 - property: 'hello'
25 - }, [
26 - arrayItem1,
27 - arrayItem2
28 - ], function() {
29 - // ... statements ...
30 - }, retrieveValue(argument));

/src/ittf/models/docs/t/specs/t/js-wizzi-schema/class.docs.ittf

    
1 $group
2 ls( class node {ittf-tag class} )
3 $append summary-js
4 p A pseudo-class for javascript OOP.
5 -
6 - class Animal
7 - ctor
8 - param kind
9 - param legs
10 - # ... statements ...
11 - class Dog
12 - super Animal
13 - ctor
14 - param name
15 - base 'dog'
16 - base 4
17 - m run
18 - param time
19 - param velocity
20 - # ... statements ...
21 - m getDistanceRun
22 - # ... statements ...
23 $append code-js
24 - // Animal class
25 - Animal = function(kind, legs) {
26 - // ... statements ...
27 - }
28 -
29 - // Dog class
30 - Dog = function(name) {
31 - Animal.call(this, 'dog', 4);
32 - }
33 - util.inherits(Dog, Animal);
34 -
35 - Dog.prototype.run = function(time, velocity) {
36 - // ... statements ...
37 - }
38 - Dog.prototype.getDistanceRun = function() {
39 - // ... statements ...
40 - }

/src/ittf/models/docs/t/specs/t/js-wizzi-schema/debug.docs.ittf

    
1 $group
2 ls( logging nodes )
3 $append summary-js
4 -
5 - log commaSeparatedExpressionList
6 -
7 - log? objectExpression
8 -
9 - chalk color commaSeparatedExpressionList
10 $append code-js
11 -
12 - console.log( commaSeparatedExpressionList );
13 -
14 - console.log( util.inspect( objectExpression, { depth: null } ));
15 -
16 - console.log(chalk.green(commaSeparatedExpressionList));

/src/ittf/models/docs/t/specs/t/js-wizzi-schema/function.docs.ittf

    
1 $group
2 ls( function node {ittf-tag function} )
3 $append summary-js
4 -
5 - function sayHello
6 - param name
7 - param style
8 - if style === 'bold'
9 - return 'Hello <b>' + name + '</b>'
10 - else
11 - return 'Hello ' + name
12 -
13 - function Animal
14 - param kind
15 - param legs
16 - param actionFunction
17 -
18 - var obj
19 - new Animal
20 - @ 'dog'
21 - @ 4
22 - function
23 - return 'I bark'
24 $append code-js
25 -
26 - function sayHello(name, style) {
27 - if (style === 'bold') {
28 - return 'Hello <b>' + name + '</b>';
29 - }
30 - else {
31 - return 'Hello ' + name;
32 - }
33 - }
34 -
35 - function Animal(kind, legs, actionFunction) {
36 - }
37 -
38 - var obj = new Animal('dog', 4, function() {
39 - return 'I bark';
40 - });

/src/ittf/models/docs/t/specs/t/js-wizzi-schema/json.docs.ittf

    
1 $group
2 ls( object node {ittf-tag {} )
3 - var person
4 - {
5 - @ name 'stefi'
6 - @ age 58
7 $append code-js
8 - var person = { name: 'stefi', age: 58 };
9 ls( array node {ittf-tag [} )
10 - var people
11 - [
12 - {
13 - @ name 'stefi'
14 - @ age 58
15 - {
16 - @ name 'annie'
17 - @ age 58
18 $append code-js
19 - var people = [
20 - { name: 'stefi', age: 58 },
21 - { name: 'annie', age: 58 }
22 - ];

/src/ittf/models/docs/t/specs/t/js-wizzi-schema/logic.docs.ittf

    
1 $group
2 ls( control flow nodes )
3 -
4 - # if [ elif [ elif [ ... ]]] [ else ] node statements
5 - if condition
6 - # statements
7 - elif condition
8 - # statements
9 - else
10 - # statements
11 -
12 - # while node statement
13 - while condition
14 - # statements
15 -
16 - # do node statement
17 - do condition
18 - # statements
19 -
20 - # for node statement
21 - for jsExpression
22 - # statements
23 -
24 - # foreach node statement
25 - foreach item-var in jsExpression
26 - # statements
27 -
28 $append code-js
29 - // if [ elif [ elif [ ... ]]] [ else ] node statements
30 - if (condition) {
31 - // statements
32 - }
33 - else if (condition) {
34 - // statements
35 - }
36 - else {
37 - // statements
38 - }
39 -
40 - // while node statement
41 - while (condition) {
42 - // statements
43 - }
44 -
45 - // do node statement
46 - do {
47 - // statements
48 - } while (condition)
49 -
50 - // for node statement
51 - for (jsExpression) {
52 - // statements
53 - }
54 -
55 - // foreach node statement
56 - var i, i_len=jsExpression.length, item-var;
57 - for (i=0; i<i_len; i++) {
58 - item-var = jsExpression[i];
59 - // statements
60 - }

/src/ittf/models/docs/t/specs/t/js-wizzi-schema/set.docs.ittf

    
1 $group
2 ls( set node {ittf-tag set} )
3 $append summary-js
4 ul set nodes accept as children nodes
5 li jsObject nodes {ittf-tag {}
6 li jsArray nodes {ittf-tag [}
7 li function nodes {ittf-tag function}
8 li call nodes {ittf-tag _}
9 -
10 - set x = 1
11 - set y
12 - {
13 - @ property 'hello'
14 - set z
15 - [
16 - @ arrayItem1
17 - @ arrayItem2
18 - set k
19 - function
20 - # ... statements ...
21 - set j
22 - _ retrieveValue
23 - @ argument
24 $append code-js
25 -
26 - x = 1;
27 -
28 - y = {
29 - property: 'hello'
30 - };
31 -
32 - z = [
33 - arrayItem1,
34 - arrayItem2
35 - ];
36 -
37 - k = function() {
38 - // ... statements ...
39 - }
40 -
41 - j = retrieveValue(argument));

/src/ittf/models/docs/t/specs/t/js-wizzi-schema/var.docs.ittf

    
1 $group
2 ls( var node {ittf-tag var} )
3 $append summary-js
4 ul var nodes accept as children nodes
5 li jsPropertyOrValue nodes {ittf-tag @}
6 li jsObject nodes {ittf-tag {}
7 li jsArray nodes {ittf-tag [}
8 li function nodes {ittf-tag function}
9 li call nodes {ittf-tag _}
10 li decl nodes {ittf-tag decl}
11 -
12 - var a
13 - var x = 1
14 - var y
15 - {
16 - @ name 'stefi'
17 - @ age 58
18 - var fxDouble
19 - function
20 - param x
21 - return x * 2
22 - var
23 - decl b
24 - decl z = 1
25 - decl t
26 - {
27 - @ name 'annie'
28 - @ age 58
29 - decl fyHalve
30 - function
31 - param y
32 - return y / 2
33 $append code-js
34 -
35 - var a;
36 - var x = 1;
37 - var y = {
38 - name: 'stefi',
39 - age: 58
40 - };
41 - var fxDouble = function(x) {
42 - return x * 2;
43 - };
44 - var b,
45 - z = 1,
46 - t = {
47 - name: 'annie',
48 - age: 58
49 - },
50 - fyHalve = function(y) {
51 - return y / 2;
52 - };

/src/ittf/models/docs/t/specs/t/ls.docs.ittf

    
1 $group
2 $params title
3 div <h3>${title}</h3>
4 $hook summary-js
5 table
6 tr
7 td
8 style width=50%; vertical-align:top;
9 ittf
10 $hook
11 td
12 style width=50%; vertical-align:top; border: 1px solid #555;
13 js
14 -
15 $hook code-js

/src/ittf/models/docs/t/specs/css-language-schema.docs.ittf

    
1 object The css WizziSchema
2 summary

/src/ittf/models/docs/t/specs/html-language-schema.docs.ittf

    
1 object The html WizziSchema
2 summary

/src/ittf/models/docs/t/specs/ittfdocument-searchpath.docs.ittf

    
1 object IttfDocuments search path
2 summary
3 p When IttfDocuments are included or mixed-in, given {path current-dir}
4 + as the path of the including or mixing IttfDocument, they are searched (in order):
5 ul
6 li in the {path current-dir} folder;
7 li in the {path current-dir}/t folder;
8 li in the folder named {path t} of the parent folder of the {path current-dir};
9 li in the folder named {path t} of the ancestor folders of the {path current-dir}.
10 p Given this folder structure
11 ittf
12 - folder-a
13 - t
14 - layout.html.ittf
15 - folder-b
16 - t
17 - dialog.html.ittf
18 - my-home-page.html.ittf
19 p The IttfDocument my-home-page.html.ittf could be:
20 ittf
21 - layout( home )
22 - $include dialog( )

/src/ittf/models/docs/t/specs/js-language-schema.docs.ittf

    
1 object The js WizziSchema
2 summary
3 $include js-wizzi-schema/var
4 $include js-wizzi-schema/set
5 $include js-wizzi-schema/json
6 $include js-wizzi-schema/function
7 $include js-wizzi-schema/call
8 $include js-wizzi-schema/logic
9 $include js-wizzi-schema/class
10 $include js-wizzi-schema/debug

/src/ittf/models/docs/t/specs/js-wizzi.docs.ittf

    
1 object Js-Wizzi, the template engine language

/src/ittf/models/docs/t/specs/wfjob-schema.docs.ittf

    
1 object The wfjob WizziSchema

/src/ittf/models/docs/t/specs/wizzimodeltype.docs.ittf

    
1 object The WizziModelType structure
2 summary
3 p To use WizziModelInstances as object contexts in template
4 + transformations one must get familiar with the structure of a WizziModelType.
5 p Each schema element is mapped to a javascript pseudo class that inherits from a
6 + super element or an auto-generated base element.
7 p Example WizziSchema
8 rdbms.schema()
9 p Example WizziModelType
10 js
11 - /*
12 - rdbmsBase class, standard autogenerated base class
13 - */
14 - rdbmsBase = function(name, sourceLineInfo) {
15 - this.wzName = name || '';
16 - this.wzParent = null;
17 - this.wzSourceLineInfo = sourceLineInfo;
18 - }
19 - ...
20 - /*
21 - dataitem class
22 - */
23 - dataitem = function(name, sourceLineInfo) {
24 - rdbmsBase.call(this, name, sourceLineInfo);
25 - this.wzElement = "dataitem";
26 - this.sqlname = null;
27 - // relation comment
28 - this.comments = [];
29 - }
30 - util.inherits(dataitem, rdbmsBase);
31 - ...
32 - /*
33 - table class
34 - */
35 - table = function(name, sourceLineInfo) {
36 - dataitem.call(this, name, sourceLineInfo);
37 - this.wzElement = "table";
38 - // relation column
39 - this.columns = [];
40 - }
41 - util.inherits(table, dataitem);
42 - ...
43 -
44 p Model objects properties that a template developer can use:
45 table
46 class pretty-table
47 tr
48 td wzElement
49 td Is the name of the element corresponding to the IttfNodeName of
50 + the source IttfNode
51 tr
52 td wzName
53 td Is the IttfNodeValue of the source IttfNode
54 tr
55 td wzParent
56 td Is the reference to the parent of the source IttfNode
57 tr
58 td wzSourceLineInfo
59 td Data info of the source IttfNode: row, col, sourceKey
60 tr
61 td attributes
62 td Each attribute of the schema element becomes a simple type property.
63 + In the example: sqlname, type, ...
64 tr
65 td collections
66 td Each related one-to-many element of the schema element becomes an array property.
67 + In the example: comments, tables, columns
68 tr
69 td objects
70 td Each related one-to-one element of the schema element becomes an object property.
71 p Example template
72 ittf
73 - html
74 - body
75 - ul Schema tables
76 - $foreach table in rdbms.tables
77 - li ${dollar}{table.wzName}

/src/ittf/models/docs/t/specs/wizzischema-notation.docs.ittf

    
1 object The WizziModel and WizziSchema notation
2 summary
3 p This IttfDocument ...
4 ittf
5 - rdbms School
6 - table Student
7 - column Id
8 - type integer
9 - column Name
10 - type string
11 - table Teacher
12 - column Id
13 - type integer
14 - column Name
15 - type string
16 p ... could be validated against the following WizziSchema:
17 ittf
18 - wfschema rdbms
19 - e rdbms
20 - r table/s
21 - e table/s
22 - r column/s
23 - e column/s
24 - a type
25 - restrict
26 - enum string
27 - enum boolean
28 - enum integer
29 - enum float
30 - enum date
31 ittf
32 - wfschema schema-name
33 -
34 - [0..n]require module-name
35 - declare-var var-name
36 -
37 - [0..3]export-to json|xml|prettify
38 -
39 - [0..n]element element-name [: super-element-name]
40 - <i>super</i> super-element-name
41 - <i>tag</i> tag-string
42 - <i>xml-tag</i> xml-tag-string
43 - <i>is-abstract</i>
44 - <i>is-root</i>
45 - <i>name-is-required</i>
46 - <i>add-to-children</i>
47 - [0..n]<b><i>attributes</i></b>
48 - [0..n]<b><i>relations</i></b>
49 - [0..n]<b><i>methods</i></b>
50 h3 Relation element
51 p Format:
52 ittf
53 - ...
54 - r related-element-name[ [plural-suffix-a] / plural-suffix-b ]
55 - <i>one-to-one</i>
56 - <i>no-get</i>
57 p Example:
58 ittf
59 - ...
60 - e table : dbitem
61 - r column/s
62 - r propert-y/ies
63 - r displayLayout
64 - one-to-one
65 p related-element-name plus the eventual plural-suffix-a must give the name of an
66 + Element element defined in the schema (that is the related Element); in the
67 + example: column, property, displayLayout.
68 h3 Attribute element
69 p Describes an attribute of an Element element.
70 p Format:
71 ittf
72 - ...
73 - a attribute-name
74 - <i>tag</i> tag-string
75 - <i>xml-tag</i> xml-tag-string
76 - <i>type</i> type-name
77 - <i>default</i> default-value
78 - <i>default-when-declared</i> default-value-when-declared
79 - <i>is-datatype</i>
80 - <i>is-required</i>
81 - [0..n]<b><i>restricts</i></b>
82 h3 Restrict element
83 p Format:
84 ittf
85 - ...
86 - restrict
87 - [0..n]enum enum-value
88 - <i>max-length</i> value
89 - <i>min-length</i> value
90 - <i>max-value</i> value
91 - <i>min-value</i> value
92 - <i>regexp</i> value
93 h2 Model type code elements
94 p The following elements of the WizziMetaSchema consent the insertion of javascript code in the
95 + WizziModelType that will be generated by the WizziModelProduction
96 h3 ExportTo element
97 p Format:
98 ittf
99 - wfschema schema-name
100 - export-to format-name
101 p Corrently available format is: 'json'.
102 p En exportTo element causes the insertion in the WizziModelType of the WizziSchema
103 + of the prototype functions for exporting the tree data structure of the model in
104 + the requested format.
105 h3 Require element
106 p Format:
107 ittf
108 - wfschema schema-name
109 - require module-name
110 - <i>declare-var</i> var-name
111 - <i>invoke</i> invoke-string
112 - <i>kind</i> kind-name
113 h3 Method element
114 p Declares a method that will be added in the WizziModelType to the pseudo-class of
115 + the containing Element. The method can access and manipulate the entire model
116 + tree structure.
117 p Format:
118 ittf
119 - ...
120 - m method-name
121 - [0..n]<b><i>params</i></b>
122 - [0..n]<b><i>statements</i></b>
123 h3 Parameter element
124 p Format:
125 ittf
126 - ...
127 - param param-name
128 h3 Statement element
129 p The statement element uses a subset of the CodeWizziSchema 'js'

/src/ittf/models/docs/t/specs/wizzischema-schema.docs.ittf

    
1 object The wfschema WizziSchema

/src/ittf/models/docs/t/starters/t/starter-1/myhtml-document-artifact.docs.ittf

    
1 $group
2 h3 The ArtifactGenerator 'myhtml/document'
3 p An ArtifactGenerator must expose this interface
4 js
5 -
6 - /*
7 - * @params (Object) model
8 - * @params (Object wizzi-core::artifact::genContext) ctx
9 - */
10 - md.gen = function(model, ctx) {
11 - // statements
12 - };
13 p The model param for this generator is a WizziModelInstance
14 + of type 'myhtml'.
15 ul It is a tree data structure where each node has the properties:
16 li wzElement : the schema element name;
17 li wzTag : the node name (tag) in the source IttfNode;
18 li wzName : the node value in the source IttfNode;
19 li attributes and related elements objects and collections.
20 p The 'myhtml/document' generator traverses the tree data structure and
21 + emits the HTML markup into the ctx object.
22 js
23 - see the source code in the folder
24 - lib/artifacts/myhtml/document/gen/main.js

/src/ittf/models/docs/t/starters/t/starter-1/myhtml-schema.docs.ittf

    
1 $group
2 h3 The WizziSchema 'myhtml'
3 p We want to exploit the power of the Ittf template engine
4 + for building html pages, without the need to detail
5 + all the tags of the html specification in a WizziSchema.
6 p We would like to write
7 ittf
8 - html
9 - < body
10 - < div Hello world in many colors
11 - $ var i = 10
12 - $while i <= 360
13 - < div Hello world
14 - @ style color: hsl(${dollar}{i}, 100%, 50%);
15 - $ i += 10;
16 p We need a very simple schema with three elements only:
17 ul
18 li the html root node
19 li the element/< element for HtmlElement tags
20 li the attribute/@ element for HtmlAttributes
21 p A first draft of the WizziSchema could be:
22 ittf
23 - wfschema myhtml
24 - e html
25 - r attribute/s
26 - r element/s
27 - e attribute
28 - tag @
29 - e element
30 - tag <
31 - r attribute/s
32 - r element/s
33 p It will work but there is a redundancy. We may
34 + derive the root html element from di element element.
35 ittf
36 - wfschema myhtml
37 - e element
38 - tag <
39 - r attribute/s
40 - r element/s
41 - e html : element
42 - is-root
43 - e attribute
44 - tag @
45 p We declare the html element after di element element.
46 + Super elements must be previously declared.
47 + We need to specify that the html element is the schema root element;
48 + by default the root node is the first element of the schema.

/src/ittf/models/docs/t/starters/t/starter-1/wizzimodelproduction.docs.ittf

    
1 $group
2 h3 The WizziModelProduction
3 p From the WizziSchemas of the package are generated
4 + WizziModelTypes and WizziModelFactories.
5 p The module schema.js contains a skeleton of
6 + WizziModelProduction where to add
7 + the generation for each schema.
8 js
9 - see the source code in the folder
10 - lib/schemas.js

/src/ittf/models/docs/t/starters/demostart.docs.ittf

    
1 object Wizzi-demo starter package
2 summary
3 h3 Overview
4 p The wizzi demo package is made of samples and links to
5 + the project documentation.
6 p Have a look at the
7 a github project
8 href https://github.com/wizzifactory/wizzi-demo
9 span .
10 p The readme file in each folder give you the links to
11 + concept, documentation, api and source code, relative
12 + to the samples in that folder.
13 h3 Sections
14 p Sample folders cover these areas:
15 ul
16 li mtree: ittf documents and mTrees
17 li jswizzi
18 li wizzi models
19 li wizzischema: wizzi schemas and wizzi model types
20 li schema languages
21 li wizzi jobs
22 li wizzi plugins: creating and using a local sample plugin
23 p The wizzi plugins section contains samples of model transformers
24 + and artifact generators.
25 h3 Installation
26 p
27 br # Clone the repository
28 br $ git clone https://github.com/wizzifactory/wizzi-demo
29 br
30 br # Go into the repository
31 br $ cd wizzi-demo
32 br
33 br # Install dependencies
34 br $ npm install
35 br
36 h3 Running samples
37 p
38 br # Run samples in folders:
39 br $ node mtree
40 br $ node wizzimodel
41 br $ ...
42 h3 Build your samples
43 p This is left to you.

/src/ittf/models/docs/t/starters/firstpackage.docs.ittf

    
1 object The First WizziPackage

/src/ittf/models/docs/t/starters/getstarted.docs.ittf

    
1 object Getting started
2 summary
3 p You have to be really motivated,
4 + for wanting to start using the wizzi factory.
5 p I don't want to incourage you saying
6 + that one can quickly get started and run.
7 + Accordingly this getting started section will be quite scarce.
8 p At the current time the main problem with the wizzi factory
9 + is error detection. You can get an error that does not clearly
10 + show where it has occurred.
11 p So the only way to get started is dive into code and help us
12 + to implement a better error tracking.
13 p But i don't want to let the brave without an option
14 + on where to start.
15 p The package wizzi-demo, that can be installed from npm, is the
16 + playground where we are concentrating our efforts to make the
17 + wizzi factory usable beyond its declared purpose, that
18 + is the generation of its next improved version.
19 p If you dare to play with the wizzi-demo we promise to do our best to
20 + give help.

/src/ittf/models/docs/t/starters/starter-1-tutorial.docs.ittf

    
1 object Wizzi Starter 1
2 summary
3 p In this quick-start we build a WizziFactoryPackage that exposes:
4 ul
5 li the WizziSchema {label myhtml}, an ultra-simplified html LanguageWizziSchema;
6 li the ArtifactGenerator {label myhtml/document},
7 + a CodeWriteArtifactGenerator for rendering the HTML markup;
8 li the WizziModelProduction {label schemas.js}, for generating
9 + the WizziModelTypes and Factories of the package.
10 p Then we will create a {label mysite} folder with
11 + some myhtml IttfDocuments and a {label mysite} WizziFactoryProductionJob
12 + for generating the HTML pages of the site.
13 $include starter-1/myhtml-schema
14 $include starter-1/wizzimodelproduction
15 $include starter-1/myhtml-document-artifact

/src/ittf/models/docs/t/t/rdbms.schema.docs.ittf

    
1 ittf
2 - wfschema rdbms
3 - e dataitem
4 - a sqlname
5 - e comment
6 - tag #
7 - e rdbms : dataitem
8 - is-root
9 - r table/s
10 - e table : dataitem
11 - r column/s
12 - e column : dataitem
13 - a type
14 - restrict
15 - enum string
16 - enum boolean
17 - enum integer
18 - enum float
19 - enum date

/src/ittf/models/docs/code_intro.docs.ittf

    
1 docs code_intro
2 summary
3 p This section allows the browsing of kernel modules
4 + and core plugins of the wizzi factory.
5 p Since version v3 (0.3.x pre-release) the source of the
6 + wizzi factory code is made of wizzi models, so
7 + browsing the source helps to better understand
8 + the concepts explained in the documentation.
9 h4 Ittf notation legend
10 ittf
11 - nodename nodevalue rest of line
12 - $nodecommand parameters
13 - mixinCall( param-1, param-2, ... )
14 ul
15 li 'nodename' in green is a semantic node name. The meaning of nodename is given
16 + by the wizzi schema, if the ittf document is schemed, otherwise it is a free
17 + meaning, given by the document author.
18 li 'The rest of the line in white is the value of 'nodename'.
19 li '$nodecommand' is a template command. Node commands are documented
20 a here
21 href #TODO.
22 li 'mixinCall' in red is a mixin inclusion command. In the code browser it is clickable
23 + and a modal dialog with the content of the mixin is shown.
24 concept Kernel packages
25 summary
26 table
27 tr
28 td
29 a wizzi
30 href https://wizzifactory.github.io/code/wizzi.html
31 td The core package of the wizzi factory.
32 tr
33 td
34 a wizzi-mtree
35 href https://wizzifactory.github.io/code/wizzi-mtree.html
36 td Loader for wizzi indented text tree format (ittf) documents.
37 tr
38 td
39 a wizzi-repo
40 href https://wizzifactory.github.io/code/wizzi-repo.html
41 td Repository manager for the wizzi factory.
42 tr
43 td
44 a wizzi-utils
45 href https://wizzifactory.github.io/code/wizzi-mongodb.html
46 td Utility library for the wizzi factory.
47 concept Plugin packages
48 summary
49 table
50 tr
51 td
52 a wizzi-core
53 href https://wizzifactory.github.io/code/wizzi-core.html
54 td A Wizzi Factory plugin with core schemas and artifact generators.
55 tr
56 td
57 a wizzi-meta
58 href https://wizzifactory.github.io/code/wizzi-meta.html
59 td A core wizzi factory plugin with schemas describing wizzi packages and the wizzi studio dashboard.
60 tr
61 td
62 a wizzi-docs
63 href https://wizzifactory.github.io/code/wizzi-docs.html
64 td A wizzi factory plugin for documentation artifact generation.
65 concept The docs package
66 summary
67 table
68 tr
69 td
70 a wizzi-documentation
71 href https://wizzifactory.github.io/code/wizzi-documentation.html
72 td The wizzi factory v3 (0.3.x pre-release) documentation.
73 concept The demo package
74 summary
75 table
76 tr
77 td
78 a wizzi-demo
79 href https://wizzifactory.github.io/code/wizzi-demo.html
80 td The most complete demo of the wizzi factory - v3 (pre-release).

/src/ittf/models/docs/concepts.docs.ittf

    
1 docs overview
2 $ var dollar = '$'
3 $include concepts/wizzifactory
4 $include concepts/mtree
5 $include concepts/ittfdocument
6 $include concepts/jswizzi
7 $include concepts/wizzimodel
8 $include concepts/wfschema
9 $include concepts/languageschema
10 $include concepts/modeltransformer
11 $include concepts/artifactgenerator
12 $include concepts/wizzijob
13 $include concepts/wizziplugin

/src/ittf/models/docs/contribs.docs.ittf

    
1 docs contribs
2 $ var dollar = '$'
3 intro
4 summary
5 div
6 style font-size: 24px; font-family: tahoma; margin: 150px 220px 0 220px;
7 p The WizziTeam is struggling to make using the Wizzi Factory as
8 + smooth as possible.
9 p If you have any question, an advice or
10 + you are brave enough to adventure yourself on
11 + authoring a WizziFactoryPackage do not esitate
12 + to let us know
13 + on <a href="https://groups.google.com/forum/?hl=it#!forum/wizzifactory">Google Groups</a>.
14 p If you have ideas to contribute or issues to signal you can use the github
15 + <a href="https://guides.github.com/activities/contributing-to-open-source/">guidelines</a>
16 + for contributing to the wizzi core projects and wizzi labs.

/src/ittf/models/docs/docs_artifacts.docs.ittf

    
1 docs artifacts
2 $ var dollar = '$'
3 $include docs/artifact/index
4 $include docs/artifact/implementation
5 $include docs/artifact/gencontext
6 $include docs/artifact/sample
7 $include docs/artifact/core
8 $include docs/artifact/jsonexport
9 $include docs/artifact/xmlexport
10 $include docs/artifact/ittfdocument

/src/ittf/models/docs/docs_intro.docs.ittf

    
1 docs intro
2 $ var dollar = '$'
3 $*
4 $include docs/introduction/index
5 section wizzi-core
6 $include docs/wizzi-core/index
7 section wizzi-ittf / structure
8 $include docs/wizzi-ittf/structure
9 section wizzi-ittf / behaviour
10 $include docs/wizzi-ittf/behaviour
11 section wizzi-schema / structure
12 $include docs/wizzi-schema/structure
13 section wizzi-schema / behaviour
14 $include docs/wizzi-schema/behaviour
15 section wizzi-factory / structure
16 $include docs/wizzi-factory/structure
17 section wizzi-factory / behaviour
18 $include docs/wizzi-factory/behaviour
19 $include docs/samples/ittfstatements
20 $include docs/samples/mixin
21 *$

/src/ittf/models/docs/docs_ittf.docs.ittf

    
1 docs ittf
2 $ var dollar = '$'
3 $include docs/mtree/index
4 $include docs/mtree/mtree-brick
5 $include docs/mtree/ittf-commandnodes
6 $include docs/mtree/pathresolution

/src/ittf/models/docs/docs_jobs.docs.ittf

    
1 docs jobs
2 $ var dollar = '$'
3 $include docs/jobs/index
4 $include docs/jobs/wfjob
5 $include docs/jobs/runnerServer

/src/ittf/models/docs/docs_jswizzi.docs.ittf

    
1 docs jswizzi
2 $ var dollar = '$'
3 $include docs/mtree/js-wizzi

/src/ittf/models/docs/docs_models.docs.ittf

    
1 docs models
2 $ var dollar = '$'
3 $include docs/wizzimodel/index
4 $include docs/schema/index
5 $include docs/schema/wfschema
6 $include docs/schema/pseudoschemas
7 $include docs/schema/json
8 $include docs/schema/xml
9 $include docs/schema/text
10 $include docs/schema/ittf

/src/ittf/models/docs/docs_plugins.docs.ittf

    
1 docs plugins
2 $ var dollar = '$'
3 $include docs/plugins/index

/src/ittf/models/docs/index.docs.ittf

    
1 docs index
2 $ var dollar = '$'

/src/ittf/models/docs/labs.docs.ittf

    
1 docs labs
2 $ var dollar = '$'
3 $include labs/site-lab
4 $include labs/data-lab
5 $include labs/form-lab
6 $include labs/rest-lab

/src/ittf/models/docs/project.docs.ittf

    
1 docs project
2 $ var dollar = '$'
3 project The Wizzi Factory
4 id WizziFactory
5 $include project/status
6 $include project/roadmap
7 $include project/todos
8 $include project/issues

/src/ittf/models/docs/specs.docs.ittf

    
1 docs specs
2 $ var dollar = '$'
3 $*
4 $include specs/wizzischema-notation
5 $include specs/ittfdocument-searchpath.docs
6 $include specs/js-wizzi
7 $include specs/wizzimodeltype
8 $include specs/wfschema-schema
9 $include specs/wfjob-schema
10 $include specs/js-language-schema
11 $include specs/html-language-schema
12 $include specs/css-language-schema
13 *$

/src/ittf/models/docs/starters.docs.ittf

    
1 docs starters
2 $ var dollar = '$'
3 $include starters/getstarted
4 $include starters/demostart

/src/ittf/models/packages/info/v3-kernel.wfpackage.ittf

    
1 $group
2 kind ittfsource
3 version 0.0.2
4 title Source ittf documents of wizzi factory v3 (pre-release) kernel packages.
5 git-cwd c:/my/wizzi/github/v3-kernel

/src/ittf/models/packages/info/v3-next.wfpackage.ittf

    
1 $group
2 kind ittfsource
3 version 0.0.2
4 title Source ittf documents using wizzi factory v3 (pre-release) kernel and plugins.
5 git-cwd c:/my/wizzi/github/v3-next

/src/ittf/models/packages/info/v3-plugins.wfpackage.ittf

    
1 $group
2 kind ittfsource
3 version 0.0.2
4 title Source ittf documents of wizzi factory v3 (pre-release) plugin packages.
5 git-cwd c:/my/wizzi/github/v3-plugins

/src/ittf/models/packages/info/v4-wizzi-js.wfpackage.ittf

    
1 $group
2 kind plugin
3 version 0.3.6
4 title A wizzi factory plugin for javascript code-generation
5 git-cwd c:/my/wizzi/github/wizzi-js

/src/ittf/models/packages/info/v4-wizzi.wfpackage.ittf

    
1 $group
2 kind kernel
3 version 0.4.0
4 title The wizzi factory main package
5 git-cwd c:/my/wizzi/github/v4-wizzi

/src/ittf/models/packages/info/wizzi-core.wfpackage.ittf

    
1 $group
2 kind plugin
3 version 0.3.2
4 title A Wizzi Factory plugin with core schemas and artifact generators.
5 $$ git-cwd c:/my/wizzi/github/wizzi-core
6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-core

/src/ittf/models/packages/info/wizzi-demo.wfpackage.ittf

    
1 $group
2 kind demo
3 version 0.0.2
4 title The most complete demo of the wizzi factory - v3 (pre-release).
5 $$ git-cwd c:/my/wizzi/github/wizzi-demo
6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-demo

/src/ittf/models/packages/info/wizzi-docs.wfpackage.ittf

    
1 $group
2 kind plugin
3 version 0.0.2
4 title A wizzi factory plugin for documentation artifact generation.
5 $$ git-cwd c:/my/wizzi/github/wizzi-docs
6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-docs

/src/ittf/models/packages/info/wizzi-documentation.wfpackage.ittf

    
1 $group
2 kind demo
3 version 0.0.2
4 title Wizzi factory documentation
5 git-cwd c:/my/wizzi/github/v3-docs

/src/ittf/models/packages/info/wizzi-html.wfpackage.ittf

    
1 $group
2 kind plugin
3 version 0.3.2
4 title A wizzi factory plugin for html and css artifact generation
5 $$ git-cwd c:/my/wizzi/github/wizzi-html
6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-html

/src/ittf/models/packages/info/wizzi-js.wfpackage.ittf

    
1 $group
2 kind plugin
3 version 0.3.2
4 title A wizzi factory plugin for javascript code-generation
5 $$ git-cwd c:/my/wizzi/github/wizzi-js
6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-js

/src/ittf/models/packages/info/wizzi-meta.wfpackage.ittf

    
1 $group
2 kind plugin
3 version 0.3.2
4 title Meta data and descriptors for wizzi packages and the wizzi studio dashboard
5 $$ git-cwd c:/my/wizzi/github/wizzi-meta
6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-meta

/src/ittf/models/packages/info/wizzi-mongodb.wfpackage.ittf

    
1 $group
2 kind kernel
3 version 0.0.2
4 title mongodb document storage component for the wizzi factory
5 $$ git-cwd c:/my/wizzi/github/wizzi-mongodb
6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-mongodb

/src/ittf/models/packages/info/wizzi-mtree.wfpackage.ittf

    
1 $group
2 kind kernel
3 version 0.3.2
4 title Loader component for Indented Text Tree Format (ittf) documents. Implements the Wizzi Magical Tree buildup
5 $$ git-cwd c:/my/wizzi/github/wizzi-mtree
6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-mtree

/src/ittf/models/packages/info/wizzi-repo.wfpackage.ittf

    
1 $group
2 kind kernel
3 version 0.0.2
4 title Ittf documents repository manager for the wizzi factory
5 $$ git-cwd c:/my/wizzi/github/wizzi-repo
6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-repo

/src/ittf/models/packages/info/wizzi-tools.wfpackage.ittf

    
1 $group
2 kind kernel
3 version 0.0.2
4 title Utility components for the Wizzi Factory
5 $$ git-cwd c:/my/wizzi/github/wizzi-tools
6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-tools

/src/ittf/models/packages/info/wizzi-utils.wfpackage.ittf

    
1 $group
2 kind kernel
3 version 0.3.6
4 title Utility library for the wizzi factory
5 git-cwd c:/my/wizzi/github/wizzi-utils

/src/ittf/models/packages/info/wizzi.wfpackage.ittf

    
1 $group
2 kind kernel
3 version 0.3.2
4 title The wizzi factory main package.
5 $$ git-cwd c:/my/wizzi/github/wizzi
6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi

/src/ittf/models/packages/v3-docs.wfpackage.ittf

    
1 wfpackage v3-docs
2 info/v3-docs()

/src/ittf/models/packages/v3-next.wfpackage.ittf

    
1 wfpackage v3-next
2 info/v3-next()

/src/ittf/models/packages/v4-demo.wfpackage.ittf

    
1 wfpackage v4-demo
2 src-cwd c:/my/wizzi/v4/demo
3 generated-package wizzi-documentation
4 source-folder wizzi-documentation/src
5 build-cwd wizzi-documentation/dist
6 info/wizzi-documentation()
7 generated-package wizzi-demo
8 source-folder wizzi-demo/src
9 build-cwd wizzi-demo/dist
10 info/wizzi-demo()

/src/ittf/models/packages/v4-kernel.wfpackage.ittf

    
1 wfpackage v4-kernel
2 src-cwd c:/my/wizzi/v4/kernel
3 generated-package wizzi
4 info/wizzi()
5 source-folder wizzi/src
6 build-cwd wizzi/dist
7 generated-package wizzi-mtree
8 info/wizzi-mtree()
9 source-folder wizzi-mtree/src
10 build-cwd wizzi-mtree/dist
11 generated-package wizzi-repo
12 info/wizzi-repo()
13 source-folder wizzi-repo/src
14 build-cwd wizzi-repo/dist
15 generated-package wizzi-utils
16 info/wizzi-utils()
17 source-folder wizzi-utils/src
18 build-cwd wizzi-utils/dist

/src/ittf/models/packages/v4-plugins.wfpackage.ittf

    
1 wfpackage v4-plugins
2 src-cwd c:/my/wizzi/v4/plugins
3 generated-package wizzi-core
4 source-folder wizzi-core/src
5 build-cwd wizzi-core/dist
6 info/wizzi-core()
7 generated-package wizzi-meta
8 source-folder wizzi-meta/src
9 build-cwd wizzi-meta/dist
10 info/wizzi-meta()
11 generated-package wizzi-docs
12 source-folder wizzi-docs/src
13 build-cwd wizzi-docs/dist
14 info/wizzi-docs()

/src/ittf/models/packages/v4-wizzi-js.wfpackage.ittf

    
1 wfpackage v4-wizzi-js
2 info/v4-wizzi-js()
3 schema js
4 title js wizzi language model
5 artifact js/module

/src/ittf/models/packages/v4-wizzi.wfpackage.ittf

    
1 wfpackage v4-wizzi
2 info/v4-wizzi()

/src/ittf/models/packages/wizzi-core.wfpackage.ittf

    
1 wfpackage wizzi-core
2 info/wizzi-core()
3 schema wfjob
4 title Wizzi job definition
5 schema wfschema
6 title Wizzi schema definition

/src/ittf/models/packages/wizzi-demo.wfpackage.ittf

    
1 wfpackage wizzi-demo
2 info/wizzi-demo()

/src/ittf/models/packages/wizzi-docs.wfpackage.ittf

    
1 wfpackage wizzi-docs
2 info/wizzi-demo()
3 schema docs
4 title Library documentation wizzi model
5 transformer docs/preprint

/src/ittf/models/packages/wizzi-html.wfpackage.ittf

    
1 wfpackage wizzi-html
2 info/wizzi-html()
3 schema html
4 title Html wizzi language model
5 artifact html/document
6 schema css
7 title Cascading style sheet wizzi language model
8 artifact css/document

/src/ittf/models/packages/wizzi-js.wfpackage.ittf

    
1 wfpackage wizzi-js
2 info/wizzi-js()
3 schema js
4 title js wizzi language model
5 artifact js/module

/src/ittf/models/packages/wizzi-meta.wfpackage.ittf

    
1 wfpackage wizzi-meta
2 info/wizzi-meta()
3 schema wfpackage
4 title Wizzi package descriptor
5 schema wfstudio
6 title Wizzi studio dashboard meta data

/src/ittf/models/packages/wizzi-mtree.wfpackage.ittf

    
1 wfpackage wizzi-mtree
2 info/wizzi-mtree()

/src/ittf/models/packages/wizzi-repo.wfpackage.ittf

    
1 wfpackage wizzi-repo
2 info/wizzi-repo()

/src/ittf/models/packages/wizzi-tools.wfpackage.ittf

    
1 wfpackage wizzi-tools
2 info/wizzi-tools()

/src/ittf/models/packages/wizzi-utils.wfpackage.ittf

    
1 wfpackage wizzi-utils
2 info/wizzi-utils()

/src/ittf/models/packages/wizzi.wfpackage.ittf

    
1 wfpackage wizzi
2 info/wizzi()

/src/ittf/root/t/readme_content.md.ittf

    
1 $group

/src/ittf/root/index.js.ittf

    
1 module
2 kind jsfile

/src/ittf/root/package.json.ittf

    
1 {
2 name "v3-docs"
3 version "0.0.1"
4 description "Wizzi factory documentation."
5 scripts
6 {
7 test "mocha tests/**/*.js"
8 start "node index"
9 dependencies
10 {
11 async "^2.4.0"
12 json-stringify-safe "^5.0.1"
13 lodash "^4.17.4"
14 object-inspect "^1.2.2"
15 wizzi "wizzifactory/wizzi"
16 wizzi-core "wizzifactory/wizzi-core"
17 wizzi-meta "wizzifactory/wizzi-meta"
18 wizzi-js "wizzifactory/wizzi-js"
19 wizzi-html "wizzifactory/wizzi-html"
20 wizzi-docs "wizzifactory/wizzi-docs"
21 devDependencies
22 {
23 del "^2.2.2"
24 expect.js "^0.3.1"
25 iconv-lite "^0.4.15"
26 mocha "^1.20.1"

/src/generate.wfjob.ittf

    
1 wfjob demo
2 $
3 var ittf_meta_folder = path.join(__dirname, 'ittf', 'meta');
4 var ittf_root = path.join(__dirname, 'ittf', 'root');
5 var ittf_jobs = path.join(__dirname, 'ittf', 'jobs');
6 var dest_folder = path.join(__dirname, '..', 'dist');
7 model meta
8 schema json
9 src ${ittf_meta_folder}/index.json.ittf
10 line ittf-root
11 cwd-folder ${ittf_root}
12 dest-folder ${dest_folder}
13 wfjob/any_js()
14 ignore ${ittf_root}/**/*__copy.*/**/*.js.ittf
15 wfjob/any_json()
16 model-ref meta
17 export-name wfpackage
18 wfjob/any_md()
19 model-ref meta
20 export-name wfpackage
21 line ittf-jobs
22 cwd-folder ${ittf_jobs}
23 dest-folder ${dest_folder}/jobs
24 wfjob/any_js()
25 ignore ${ittf_jobs}/**/*__copy/**/*.js.ittf
26 artifact any_ittf_inside___copy
27 src ${ittf_jobs}/**/*__copy/**/*.ittf
28 extension ittf
29 artifact any_css_inside___copy
30 src ${ittf_jobs}/**/*__copy/**/*.css
31 extension css
32 artifact any_svg_inside___copy
33 src ${ittf_jobs}/**/*__copy/**/*.svg
34 extension svg
35 production
36 dest-folder ${dest_folder}
37 line-ref ittf-root
38 line-ref ittf-jobs
×